Grid 是用于设计帮助我们进行分布式测试的工具,其整个结构有一个hub主节点和若干个node代理节点组成。hub用来管理各个子节点的注册和状态信息,并接收远程客户端代码的请求调用,然后把请求的命令再转发给代理节点来执行。使用Grid远程执行测试的代码与直接调用Selenium Server是一样的,只是环境启动的方式不一样,需要同时启动一个hub和至少一个node。
同一台主机上可以启动多个node,则需要注意指定端口号,可以通过下面的方式来启动多个node节点。
hub默认端口:4444,node默认端口为5555
# 启动主节点
java -jar selenium-server-standalone-xxx.jar -role hub
#启动多个代理节点
java -jar selenium-server-standalone-xxx.jar -role node - port 5555
java -jar selenium-server-standalone-xxx.jar -role node - port 5556
java -jar selenium-server-standalone-xxx.jar -role node - port 5557
可以通过浏览器访问Grid的控制台:http://192.168.1.116:4444/grid/console
通过控制条查看启动的节点信息。
DesiredCapabilities 品台及浏览器的参数如下:
FireFox = {‘platform’:‘ANY’, ‘browserName’:‘firefox’, ‘version’:’’, ‘javascriptEnabled’:True, ‘marionette’:False }
Chrome = {‘platform’:‘ANY’, ‘browserName’:‘chrome’, ‘version’:’’, ‘javascriptEnabled’:True }
Opera= {‘platform’:‘ANY’, ‘browserName’:‘opera’, ‘version’:’’, ‘javascriptEnabled’:True }
Iphone= {‘platform’:‘MAC’, ‘browserName’:‘iPhone’, ‘version’:’’, ‘javascriptEnabled’:True }
Android = {‘platform’:‘ANDROID’, ‘browserName’:‘android’, ‘version’:’’, ‘javascriptEnabled’:True }