一、下载selenium server
Grid2不再提供单独的jar包,其功能已集成到Selenium Server中,故需要下载和运行Selenium Server
二、配置Java环境
三、运行selenium Server
切换到selenium server所在目录并启动

四、Selenium Grid 工作原理
当测试用例需要验证的环境比较多时,可以通过Grid控制测试用例在不同的环境下运行。Grid分布式测试的建立是由一个Hub(主节点)和若干个node(代理节点)组成的。HUb用来管理各个node的注册和状态信息,接受远程客户端代码的请求调用,把请求的命令转发给node来执行。

需要首先启动selenium server,可以在单台机器上启动一个或多个节点,也可以在多台机器上启动多个节点,然后按上面的方法执行selenium grid脚本。
1)同一台主机上,启动1个Hub和多个node,需要指定不同node的端口号;Hub默认端口号为4444;node默认端口号为5555。
启动主节点:
java -jar selenium-server-4.4.0.jar hub
启动分支节点:
java -jar selenium-server-4.4.0.jar node --port 5555
java -jar selenium-server-4.4.0.jar node --port 5557



注意,要开启两个windows命令行窗口去分别执行,且要先执行hub命令
2)远程主机Hub
注:不同浏览器的Webdriver最终都继承了remote的WebDriver类.该类通过向远程服务器发送命令来控制浏览器。在初始化方法中,command_executor参数用来指定远程服务器的URL或自定义字符串的远程连接,默认为http://127.0.0.1:4444/wd/hub,4444为Grid的默认监听端口。
../selenium/webdriver/remote/webdriver.py

启动本地Hub所在主机(IP地址为172.16.10.66)
java -jar selenium-server-4.4.0.jar hub
启动远程node所在主机(IP地址为172.16.10.34)
java -jar selenium-server-4.4.0.jar node --port 5555 -hub http://172.16.10.66:4444/grid/register
要在其它主机启动node必须满足以下几个要求:
1、本地hub主机与远程node主机之间可以相互ping通
2、远程主机必须安装运行脚本的运行环境(Python 、 Selenium、浏览器及浏览器驱动 )
3、远程主机必须安装 java 环境,因为需要运行 Selenium Server。
五、selenium Grid应用
1)启动本地Hub和node
2) 修改..selenium/webdriver/common/desired_capabilities.py文件中定义了不同浏览器的配置

3)修改测试代码


网友评论