Mon problème est que je veux exécuter 2 suites de tests. Lorsque le second procès de test, je commence obtenir l'erreur: Server Exception: sessionId should not be null; has this session been started yet?
Comment puis-je démarrer une nouvelle instance de navigateur avec Selenium RC après tearDown?
Mon fichier Testng.xml ressemble à ceci:
<suite name="Suite" parallel="false">
<suite-files>
<suite-file path="testng1.xml"/>
<suite-file path="testng2.xml"/>
</suite-files>
</suite>
Je dois mentionner que toutes les classes de fichiers testng1 et testng2 ont une annotation @BeforeSuite
que appelle la méthode setUp qui ressemble à ceci:
public void setUp() {
String url = mySelSetter.url;
String browser = mySelSetter.browser;
if (selenium == null) {
selenium = new DefaultSelenium("localhost", 4445, browser, url);
selenium.start();
selenium.open(url);
System.out.println("A browser instance opens.");
} else {
System.out.println("A browser instance is already open.");
}
}
Ma connaissance du Selenium RC est révolue depuis longtemps, mais cela fonctionnerait-il si vous supprimiez le contrôle '(selenium == null)'? Évidemment, le chèque pourrait passer même s'il n'y a pas de navigateur ouvert. Ou, inversement - dans votre méthode 'teadDown()', après 'selenium.stop()' place 'selenium = null;' pour signaler que le navigateur a été fermé. –
Chaque fois que quelqu'un pose une question de base sur Selenium RC, je recommande seulement de mettre à jour à [WebDriver] (http://code.google.com/p/selenium/wiki/GettingStarted)! –