Selenium grid是用来分布式执行测试用例脚本的工具,比如测试人员经常要测试多浏览器的兼容性,那就可以用到grid了。
selenium grid的hub相当于一个接收脚本并分发脚本的角色,node相当于一个执行脚本的角色。
(一)
1、从http://selenium-release.storage.googleapis.com/index.html上下载对应版本的Selenium server:
你使用的是什么版本的selenium就下载对应版本的server(我用的是3.141.59)
2、下载下来后打开cmd,进入到jar包所在的文件目录,输入java -jar selenium-server-standalone-x.xx.x.jar -role hub,这是万恶之源,先启它才能干后面的事。
java -jar selenium-server-standalone-3.141.59.jar -role hub
启动后在浏览器输入http://192.168.201.1:4444/可以访问,并可以看到一些默认配置
修改默认配置的方法
(1)直接命令行修改,启动的时候带上需要修改的配置,如下:修改端口号为4445
java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4445
(2)新建一个json文件去修改 (hub.json与jar包不是同一目录下,需要带上json文件所在路径)
java -jar selenium-server-standalone-3.141.59.jar -role hub -hubConfig hub.json
json文件格式如下:
(二)
将node服务注册到hub下
打开cmd输入以下:
java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.201.1:4444/grid/register
提示意见注册了node,端口号为1667
注册成功界面
同样可以修改默认配置,与上述修改配置方法一样。
(1)cmd命令行修改
如果端口号已经被一个node节点占用了,那么我们可以修改默认端口号,相当于重新注册一个新的node,如下:
java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.201.1:4444/grid/register -port 7777
这时已经注册了两个node了,一个为1667,一个为7777
(2)外部json文件修改配置
新建一个json文件去修改 (node.json与jar包不是同一目录下,需要带上json文件所在路径)
java -jar selenium-server-standalone-3.141.59.jar -role node -nodeConfig node.json -hub http://192.168.201.1:4444/grid/register
json文件格式如下:
****所有的配置的文件(浏览器驱动,json,jar包等等)都需要放在同一个目录底下,不然可能会报一些不知名错误
也可以配置phantomjs,方法都一样。
grid:一个脚本在不同(多台或一台)机器不同浏览器上执行
xml文件:配置脚本单个跑还是并发跑还是以什么方式去跑
grid+xml:多个脚本同时在不同机器不同浏览器上跑(并发跑)。