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

您只需要创建一次 selenium 实例。之后,您必须在测试步骤之前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 回答