2

私の問題は、2つのテストスイートを実行したいということです。テストの2番目のスーツが開始すると、エラーが発生します。 Server Exception: sessionId should not be null; has this session been started yet?

Testng.xmlファイルは次のようになります。

<suite name="Suite" parallel="false">
    <suite-files>
        <suite-file path="testng1.xml"/>
        <suite-file path="testng2.xml"/>
    </suite-files>
</suite>

testng1ファイルとtestng2ファイルのすべてのクラスには@BeforeSuite、次のようなsetUpメソッドを呼び出すアノテーションがあります。

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.");
    }
}
4

1 に答える 1

2

セレンインスタンスを作成する必要があるのは1回だけです。その後、あなたはあなたのテストステップの前後にセレンをしなければstart()なりません。stop()以下を確認してください。

public void setUp() {
 String url = mySelSetter.url;
 String browser = mySelSetter.browser;
 if (selenium == null) 
 {
     selenium = new DefaultSelenium("localhost", 4445, browser, url);

 } else {
     System.out.println("A browser instance is already open.");
 }
 selenium.start();
 selenium.open(url);
 System.out.println("A browser instance opens.");
}

WebDriverに移行することを強くお勧めします。RCは失われたメモリになりました。

于 2013-12-11T13:20:28.630 に答える