如何解决使用Selenium Grid运行多个浏览器
我尝试在带有硒网格的两个不同节点上并行运行多个浏览器(5个chrome实例和5个Firefox实例)。不幸的是,我遇到两个错误:
org.openqa.selenium.WebDriverException: invalid argument: can't kill an exited process
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:25:53'
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running,so ChromeDriver is assuming that Chrome has crashed.)
这是我的代码:
BaseTest.java
public class BaseTest {
RemoteWebDriver driver;
@Parameters({"Port"})
@BeforeClass
public void initiateDriver(String Port) throws MalformedURLException {
if(Port.equalsIgnoreCase("9001"))
{
driver = new RemoteWebDriver(new URL("http://81.xxx.180.xxx:4444/wd/hub"),DesiredCapabilities.chrome());
}
else if(Port.equalsIgnoreCase("9002"))
{
driver = new RemoteWebDriver(new URL("http://81.xxx.180.xxx:4444/wd/hub"),DesiredCapabilities.firefox());
}
}
@AfterClass
public void shutDown()
{
driver.quit();
}
}
FirstTest.java
public class FirstTest extends BaseTest {
@Test
public void Test() throws InterruptedException,MalformedURLException {
System.out.println("Test before URL");
driver.get("https://google.de");
System.out.println("Test after URL");
}
}
seleniumgridparallel.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite thread-count="10" name="SeleniumGridDocker" parallel="tests">
<test name="Chrome Test">
<parameter name="Port" value="9001" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Chrome Test 2">
<parameter name="Port" value="9001" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Chrome Test 3">
<parameter name="Port" value="9001" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Chrome Test 4">
<parameter name="Port" value="9001" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Chrome Test 5">
<parameter name="Port" value="9001" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Firefox Test 1">
<parameter name="Port" value="9002" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Firefox Test 2">
<parameter name="Port" value="9002" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Firefox Test 3">
<parameter name="Port" value="9002" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Firefox Test 4">
<parameter name="Port" value="9002" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
<test name="Firefox Test 5">
<parameter name="Port" value="9002" />
<classes>
<class name="grid.FirstTest" />
</classes>
</test>
</suite>
如果你们中的某人对我的问题有解决方案,那将是很好的。还是我对使用Selenium Grid有误解?
谢谢...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。