Selenium Grid允许同时并行地、在不同的环境上运行多个测试任务。这里主要演示一下怎么使用Selenium Grid。
准备:
1、 需要两台机子
2、两台机子分别安装好JDK环境
3、两台机子需要从https://pypi.python.org/pypi/selenium下载selenium-server-standalone-*.jar包
开始:
1、Grid需要一台机子做为主节点,然后其它机子做为子节点连接到这个主节点上来。所以首先要启
动主节点: 选一台机子做为主节点。打开命令行,cd至selenium-server-standalone-*.jar
包的目录下,然后用下面的命令启动主节点服务:
java -jar selenium-server-standalone-3.141.0.jar -role hub 默认启动默认端口为4444。如果要改这个端口,可以再上面的命令后面加上 -port XXXX。
启动完后,你可以用浏览器打开 http://localhost:4444/grid/console 。
【启动完主节点之后,要做的就是启动子节点。】
2、启动子节点: 先另一台机子做为子节点。同样打开命令行,cd至selenium-server-standalone-*.jar包的目录下,然后用下面的命令启动次节点服务: java -jar selenium-server-standalone-3.141.0.jar -role node -hub http://192.168.1.180:4444/grid/register ,此命令默认启动5555端口,可使用-port xxxx更改。其中192.168.1.180为主节点机子的ip地址,可以在cmd中输入ipconfig命令在命令行查看得到。
启动完成连接到主节点后,可以在主节点机子上 ,http://localhost:4444/grid/console网址查看到这个子节点状态。
【使用同样的方法,可以链接其它的子节点。】
3、首先,肯定通过Windows命令提示符启动Selenium Server。
java -jar selenium-server-standalone-3.141.0.jar
4、编写自动化测试脚本,在自己主机上运行测试用例。
例子如下:
通过Selenium Server可以轻松地创建本地节点和远程节点。而Remote的作用就是配置测试用例在这些节点上执行。
第二个例子:在本机打开cmd命令提示符窗口,分别启动一个1个hub和两个node (节点)
java -jar selenium-server-standalone-3.141.0.jar -role hub 默认端口444
java -jar selenium-server-standalone-3.141.0.jar -role node -port 5555
java -jar selenium-server-standalone-3.141.0.jar -role node -port 5557
如图:
启动远程node
我们目前启动的hub和node都是在同一台主机上,要想在其他主机上启动node,则必须满足以下要求。
●本地hub主机与远程node主机之间可以用ping命令连通。
(查看http://www.cnblogs.com/hhddcpp/p/3855496.html)
●远程主机必须安装用例执行的浏览器及驱动,并且驱动要放在已经存放环境变量的目录下。
●远程主机必须安装Java环境,因为需要运行Selenium Server。
2、操作步骤
①启动本地hub主机(本地主机识为:192.168.1.180)。
>java -jar selenium-server-standalone-3.141.0.jar -role hub
②启动远程node主机(操作系统:Mac OS X ,IP地址:192.168.1.181)。
>java -jar selenium-server-standalone-3.141.0.jar -role node –port 5558 -hub
http:// 192.168.1.180(hubip):4444/grid/register
设置的node端口号为:5558,指向的hub主机IP地址为192.168.1.180
③修改远程主机的IP地址及端口号,在其上面的浏览器运行脚本。