我的问题是我想运行 2 套测试。当第二套测试开始时,我收到错误:
服务器异常:sessionId 不应为 null;这个 session 已经开始了吗?
我的 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.");
}
}
最佳答案
您只需创建一次 selenium 实例。之后,您必须在测试步骤之前和之后 start()
和 stop()
selenium。
检查下面。
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 现在已成为失落的内存。
关于selenium - 拆解后如何使用 Selenium RC 启动新的浏览器实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12348315/