如果没有硒网格,是否可以并行执行?或者(只有 testNG 就足够了?)
Is the parallel execution possible, without selenium grid?or (only testNG is enough?)
我是 selenium webdriver 的初学者。所以对于并行执行,通常我们会在 xml 文件中进行更改,例如 parallel="methods" thread-count="3"
,我的疑问是:
没有selenium grid可以并行执行吗?
还是只有 testNG 就足够了?
是的,使用 TestNg 的 @Parameters ("browser")..示例代码如下...
@Parameters ("browser")
public void test(String browserName) {
if(browserName.equalsIgnoreCase("firefox")){
driver = new FirefoxDriver();
} else if (browserName.equalsIgnoreCase("chrome")){
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\chromedriver.exe" );
driver = new ChromeDriver();
}
}
然后在 testng.xml 使用并行选项中编写测试并提及参数值.. 示例代码如下..
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite789787" parallel="tests">
<test name="FFTest98798">
<parameter name="browser" value="firefox"/>
<classes>
<class name ="crossbrowsertest.VerifyTitle" >
</class>
</classes>
</test> <!-- Test -->
<test name="ChromeTest8999">
<parameter name="browser" value="chrome"/>
<classes>
<class name ="crossbrowsertest.VerifyTitle" >
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
希望这对您有所帮助
是的,您可以 运行 UI 在没有网格的情况下并行测试,或者直接仅使用 selenium 网格节点,没有集线器。 TestNG 中的每个线程都会打开额外的浏览器 window,但如果您的应用程序将管理来自您主机的所有连接作为一个用户会话,您将遇到不可预知的问题。
我是 selenium webdriver 的初学者。所以对于并行执行,通常我们会在 xml 文件中进行更改,例如 parallel="methods" thread-count="3"
,我的疑问是:
没有selenium grid可以并行执行吗? 还是只有 testNG 就足够了?
是的,使用 TestNg 的 @Parameters ("browser")..示例代码如下...
@Parameters ("browser")
public void test(String browserName) {
if(browserName.equalsIgnoreCase("firefox")){
driver = new FirefoxDriver();
} else if (browserName.equalsIgnoreCase("chrome")){
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\chromedriver.exe" );
driver = new ChromeDriver();
}
}
然后在 testng.xml 使用并行选项中编写测试并提及参数值.. 示例代码如下..
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite789787" parallel="tests">
<test name="FFTest98798">
<parameter name="browser" value="firefox"/>
<classes>
<class name ="crossbrowsertest.VerifyTitle" >
</class>
</classes>
</test> <!-- Test -->
<test name="ChromeTest8999">
<parameter name="browser" value="chrome"/>
<classes>
<class name ="crossbrowsertest.VerifyTitle" >
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
希望这对您有所帮助
是的,您可以 运行 UI 在没有网格的情况下并行测试,或者直接仅使用 selenium 网格节点,没有集线器。 TestNG 中的每个线程都会打开额外的浏览器 window,但如果您的应用程序将管理来自您主机的所有连接作为一个用户会话,您将遇到不可预知的问题。