Selenium 她一直在我身上死去

Selenium 她一直在我身上死去,selenium,cucumber,Selenium,Cucumber,我看到其他人也有过这个问题,我的问题似乎与其他任何人都有点不同,因为它只在我运行一个完整的套件时发生(在测试20中失败) 如果我只运行一个测试,或者只运行几个测试,代码就可以正常工作 否则,我将获得以下堆栈跟踪: org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died. 我正在本地运行我的代码,我不知道为什么

我看到其他人也有过这个问题,我的问题似乎与其他任何人都有点不同,因为它只在我运行一个完整的套件时发生(在测试20中失败)

如果我只运行一个测试,或者只运行几个测试,代码就可以正常工作

否则,我将获得以下堆栈跟踪:

    org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
我正在本地运行我的代码,我不知道为什么它不尝试创建一个新的浏览器。相反,它只是跳过了所有剩余的步骤

有人知道为什么会这样吗

以下是我的设置和拆卸步骤:

公共类设置\u拆卸\u步骤扩展了BaseStepClass{
@前(“@selenium”)
public void selenium_before_步骤(场景场景){//负责设置场景开始和全局结束条件的函数
//硒装置
//初始化元素();
driver=WebDriver\u Singleton.getNewDriver();//创建一个新的WebDriver实例。
driver.manage().window().setSize(新维度(1280800));
startTime=System.currentTimeMillis();
testData.ClearTestData();//清除保存的测试数据
testData.current_scenario=scenario;
}
/**
*在每个场景挂钩之后(报告场景除外)-公共原因必须是。
*/
@在“@selenium”之后
公共void selenium_在_步骤(场景)引发IOException之后{
endTime=System.currentTimeMillis();
编写(“运行时=“+(endTime-startTime)/1000+”秒);
if(scenario.isFailed()){
字符串html_link=driver.getCurrentUrl();
场景。写入(“\n”);
编写(“URL=“+html\U链接”);
试一试{
字节[]屏幕截图=((TakesScreenshot)驱动程序).getScreenshotAs(OutputType.BYTES);
嵌入(屏幕截图,“图像/png”);
}捕获(WebDriverException wde){
System.err.println(wde.getMessage());
}捕获(ClassCastException cce){
cce.printStackTrace();
}
}
driver.close();//清除缓存和cookies
testData.ClearTestData();//清除保存的测试数据
}
}
//WebDriver_Singleton函数如下
私有静态WebDriver创建_驱动程序(){
if(驱动程序!=null){
driver.close();
}
分配_base_url();
字符串browser=System.getProperty(“browser”)==null?“ff”:System.getProperty(“browser”);
开关(browser.toLowerCase()){
案例“ff”:
案例“firefox”:
案例“mozilla”:
驱动程序=新的FirefoxDriver();
打破
案例“ie”:
“internet explorer”案例:
案例“internet_explorer”:
驱动程序=新的InternetExplorerDriver();
打破
案例“铬”:
案例“谷歌”:
驱动程序=新的ChromeDriver();
打破
违约:
System.out.println(“默认为Firefox浏览器”);
驱动程序=新的FirefoxDriver();
}
driver.manage().timeouts().implicitlyWait(implicit_wait_timeouts,TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(PageLoad\u timeouts,TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(脚本超时,TimeUnit.SECONDS);
返回驱动器;
}

我查看了堆栈跟踪,很难找到,但jenkins服务器内存不足。

共享
WebDriver\u Singleton.getNewDriver()的代码还有…什么版本的Selenium?什么浏览器?什么版本的浏览器?我运行的是2.32.0,使用的是Firefox。我还添加了createwebdriver函数。你也想要基类吗?我也在那里创建我的页面类。
if(driver!=null){driver.close();}
这是干什么用的?我猜这就是问题所在。是的,是的!!!谢谢这实际上又坏了。我现在正在使用selenium 2.33