Selenium Grid 自动分配

Selenium Grid来实现多个nodes间的自动分配,以达到分布式并发的效果。

hub和node的启动和测试脚本,参见:Selenium Grid 初探

这次 TestNG XML 文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<suite thread-count="5" parallel="classes"  name="demo" >
<test name="test1">
<parameter name="browser" value="ff"/>
<parameter name="nodeUrl" value="http://192.168.24.13:4444"/>
<parameter name="webSite" value="http://www.baidu.com"/>
<classes>
<class name="testGrid2.Grid" />
</classes>
</test>

<test name="test2">
<parameter name="browser" value="chrome"/>
<parameter name="nodeUrl" value="http://192.168.24.13:4444"/>
<parameter name="webSite" value="http://www.baidu.com"/>
<classes>
<class name="testGrid2.Grid" />
</classes>
</test>
</suite>

Notes: url value是Grid Server地址(e.g., WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", ieDesiredcap))。

对想使用Selenium Grid的来说,实现起来应该不会太麻烦,把框架里的单线程运行的公共脚本

1
WebDriver wd = new FirefoxDriver();

改成

1
2
DesiredCapabilities ff = DesiredCapabilities.firefox();  
WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", ff);

然后再把hub的地址设置到Global Setting里边去。

唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!