美文网首页我爱编程
Selenium Grid的如何使用

Selenium Grid的如何使用

作者: 小布丁DIng | 来源:发表于2017-05-22 09:00 被阅读0次

一、Selenium Grid解决什么问题

可以分布式运行自动化测试用例,提高执行效率和解决兼容性测试的要求。

二、运行机制

selenium Grid使用Hub和Node模式,一台计算机作为Hub(管理中心)管理其他多个Node(节点)计算机。Hub负责将测试用例分发给多台Node计算机执行,并收集多台Node计算机执行结果的报告,汇总后提交一份总的测试报告。

Hub:

在分布式测试模式中,只能有一台作为Hub的计算机。

Hub负责管理测试脚本, 并负责发送脚本给其他Node节点。

所有的Node节点计算机会在Hub计算机中先进行注册,注册成功后再和Hub计算机通信,Node节点计算机会告之Hub自己的相关信息。例如,Node节点的浏览器相关信息、最多并发数等。

Hub计算机可以给自己分配执行测试用例的任务。

Hub计算机分发的测试用例任务会在各个Node节点计算机执行。

Node:

在分布式测试模式中,可以有一个或者多个Node节点。

Node节点会打开本地的浏览器完成测试任务并返回测试结果给Hub。

Node节点的操作系统和浏览器版本无需和Hub保持一致。

在Node节点上可以同时打开多个浏览器并行执行测试任务。

三、使用方法

1、准备两台计算机,一台作为Hub,命名为A;另一台作为Node,命名为B。

2、打开http://selenium-release.storage.googleapis.com/index.html?path=2.51/地址,

下载selenium-server-standalone- 2.53.1.jar,保存在两台计算机的硬盘C:/grid文件夹中。

3、在A计算机上打开cmd窗口,输入并执行以下语句:

java -jar selenium-server-standalone- 2.53.1.jar -role hub 或者

java -jar selenium-server-standalone- 2.53.1.jar -role hub -hubConfig hub.json

参数:

role参数:hub表示作为管理中心

port参数:hub服务器的端口号

hubConfig:hub各种配置的json文件路径。hub.json与jar包在同一个文件夹中

此语句表示使用java命令把jar文件作为程序执行,并且把参数role和hubConfig传递给jar文件的函数,用来启动Hub管理中心,如下图所示:

图中“http://172.16.231.45:4446/grid/”为Hub的地址。在计算机上打开http://172.16.231.45:4446/grid/console,验证此网址是否显示出“view config”的链接。

4、在B计算机中打开cmd窗口,输入下面命令:

java -jar selenium-server-standalone- 2.53.1.jar -role webdriver -nodeConfig node.json

参数:

role参数:webdriver表示Node节点的名字

nodeConfig :node各种配置的json文件路径。node.json与jar包在同一个文件夹中

执行后,如下图所示:

5、在访问Hub地址,http://172.16.231.45:4446/grid/console,验证Node节点是否已经注册成功,如下图所示:

6、编写分布式测试脚本

第一种方式:指定Node节点

DesiredCapabilities dc = DesiredCapabilities.chrome();

driver=newRemoteWebDriver(newURL("http://172.16.231.45:8888/wd/hub"),dc);

第二种方式:指定Hub地址,由Hub分发

DesiredCapabilities dc = DesiredCapabilities.chrome();

driver=newRemoteWebDriver(newURL("http://172.16.231.45:4446/wd/hub"),dc);

注意事项:

new UR中的地址,必须加上"/wd/hub"

第一种方式,测试用例只用在相应的Node节点计算机上执行

第二种方式,有Hub根据每个Node节点浏览器版本及最大并发量分配测试用例

相关文章

网友评论

    本文标题:Selenium Grid的如何使用

    本文链接:https://www.haomeiwen.com/subject/njkbxxtx.html