Automatiser le test d'applications Web avec Selenium RC Lancement du serveur

Maintenant que nos tests selenium s'exécutent pendant la phase d'intégration, nous allons profiter de la phase spécifique de préparation des tests d'intégration (pre-integration-test) pour lancer automatiquement le serveur selenium, et ainsi supprimer un des deux terminaux qui nous étaient jusqu'alors nécessaires.

Configurons le plugin selenium :

 

<executions>
 <execution>
  <id>start-selenium-server</id>
  <phase>pre-integration-test</phase>
  <goals>
   <goal>start-server</goal>
  </goals>
 </execution>
 <execution>
  <id>stop-selenium-server</id>
  <phase>post-integration-test</phase>
  <goals>
   <goal>stop-server</goal>
  </goals>
 </execution>
</executions>


Si vous lancez la phase de test d'intégration directement, vous risquez d'attendre longtemps l'apparition de votre navigateur. Nous avons vu précédemment que le lancement du serveur bloquait l'exécution de Maven. Il faut donc configurer le plugin selenium pour lui indiquer de lancer le serveur en fond de tâche :

 <configuration>
 <background>true</background>
</configuration>

Nous avons maintenant en place la configuration pour exécuter nos tests en local.

D'autres étapes se profilent déjà : mise en place des tests sous intégration continue, génération de rapports pouvant être transmis et compris par le client, réduction du coût de maintenabilité des tests (penser à une future refonte graphique)... Peut-être nous retrouverons-nous pour traiter un de ces sujets !