【发布时间】:2014-03-30 22:19:51
【问题描述】:
Selenium hub 何时一次运行一个节点?我可能在 selenium 代码和 testNG xml 方面都错了。
我已将 TestNG.xml 配置为运行并行线程,并且网格框架似乎没问题,集线器在 5555 上处于活动状态,http://xx.xx.xx.xx:5555/grid/console 显示两个节点已连接并通过 IE 浏览器处于活动状态。 IE 驱动服务器用于在这两个节点上启动 IE,selenium-server-standalone-2.35.0 用于所有节点和集线器上的网格。当我在 Eclipse 上或通过 pom.xml 通过 Jenkins“作为 TestNG 测试运行”时,脚本首先在节点 1 上启动,然后在下次运行时在节点 2 上启动。
可能是:1. 错误的 testNG.xml/selenium 网格代码? 2. Hub启动时maxinstances=1,是这个原因吗?有什么解决办法?尝试使用 hubconfig.json 但似乎没有生效。 3. 节点配置错误? 4. IEDriverServer 或 selenium server 版本问题? [也尝试了 37/39 版本]..
TestNG.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="CO" verbose='1' parallel="tests" thread-count="10" preserve-order="true">
<test name="FI" preserve-order="true">
<parameter name="browser" value="internet explorer" />
<parameter name="port" value="5566" />
<classes>
<class name="src/test/java.clickonce.remoteFresh"/>
</classes>
</test> <!-- Test -->
<test name="Ad" preserve-order="true">
<parameter name="browser" value="internet explorer" />
<parameter name="port" value="5567" />
<classes>
<class name="src/test/java.clickonce.Admin"/>
</classes>
</test>
</suite>
<!-- Suite -->
网格的 Selenium 代码:
@BeforeTest
public void setUp() throws IOException {
baseUrl = "http://xxx/";
nodeUrl = "http://xx.xx.xx.xx/wd/hub";
String sUrl = "http://xxx";
DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
capability.setBrowserName("iexplorer");
capability.setPlatform(Platform.WINDOWS);
capability.setCapability( InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true );
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
File file = new File("d:/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver WebDriverObj = new InternetExplorerDriver();
WebDriverObj.get(sUrl);
driver = new RemoteWebDriver(new URL(nodeUrl), capability);
selenium = new WebDriverBackedSelenium(driver, baseUrl);
}
节点命令 -
java -jar selenium-server-standalone-2.35.0.jar - Dwebdriver.ie.driver="D:\IEDriverServer.exe" -role webdriver -hub http://
xx.xx.xx.xx:5555/grid/register -port 5566 -browser "browserName=iexplorer,platform=WINDOWS"
5567 端口上的节点 2
【问题讨论】:
标签: selenium selenium-webdriver selenium-grid