casperjs

 
À
    ou Annuler
Novius OS a son serveur Intégration Continue et ses premiers tests
Par Gilles FELIX , 17 septembre 2012
À

Le sujet était sur la table depuis plusieurs mois dans l'équipe. Mais n'ayant aucun spécialiste sous la main, la mise en place était remise à plus tard (c'est pas bien !)

La sortie imminente de la 0.1 (cette semaine), des problèmes récurents sur le site de démo et la procédure d'installation, nous ont poussé à franchir le pas.

Le serveur d'IC de Novius Os est Travis CI, « A hosted continuous integration service for the open source community », un service en ligne qui fait de l'IC pour les projets hébergés sur Github.

Comme dit plus haut, deux tests devenaient urgents à mettre en place :

  • Tester que la démo fonctionne toujours
  • Tester que la procédure d'install fonctionne 

Ces tests ont été mis en place avec CasperJS (lui-même basé sur PhantomJS). PhantomJS est un outil basé sur le moteur Webkit (celui de Chrome) sans interface graphique, pilotable par une API javascript. CasperJS vient se greffer sur PhantomJs, et grace à une API javascript, permet de piloter la navigation et de faire des tests.

Pour qui code en javascript, CasperJs est très facile à prendre en main, il est très intuitif et la documentation est très bien faite.

Voici le dépôt contenant les tests de Novius OS

 
 
À
    ou Annuler
Novius OS' continuous integration server is up and running
Par Antoine Lefeuvre , 27 septembre 2012
À

There have been talks about Continuous Integration (CI) in the Novius OS team for many months now, but we never took action. Until last week. As Novius OS' first stable version (0.1) is out, stability and quality is now amongst our top priorities. We couldn't afford to go on without a CI server any longer.

We chose Travis CI, "a hosted continuous integration service for the open source community". Travis is an online service for projects hosted on GitHub.

Once we had Travis running, we created the most urgent tests:

  • Make sure the demo works normally
  • Make sure the install procedure goes OK

For these tests, we use CasperJS (based on PhantomJS, hence the name). PhantomJS uses WebKit rendering engine, without UI, actionable through a JavaScript API. CasperJS' role is to allow you browse a site and run tests through a JavaScript API too.

Getting started with CasperJS is really easy. It is intuitive and well-documented.

Here is Novius OS' CI repositery: