前言:在selenium Webdriver体系中grid是很重要的一部分,它的使自动化分布式部署成为可能,可以更快捷的执行测试用例。
构成及作用:grid 分为两部分:node端和hub端。且两部分都需要注册才可以使用。node端为客户端用于接收hub请求并执行测试。hub端为服务的用于与hub建立连接,发送请求给node端执行。
步骤:
1.准备好测试浏览器 IE32位 、IE64位 (版本不限)、Chrome(版本不限)、Firfox(版本低一些如39)因为高版本的不能安装firebug插件,且需要standalone更高的版本,3.0以上的版本启动方式和之前的不太一样
2.准备好浏览器驱动 chromedriver.exe 、geckodriver.exe 、IEDriverServer32.exe 、IEDriverServer64.exe。
3.客户端 准备好selenium-server-standalone-2.53.0.jar,服务的可以用同一版本,也可以用更高级的版本如selenium-server-standalone-30.jar
假设有服务端主机A,其IP为10.238.225.19
假设有客户端主机B,其IP为10.238.10.30
4.hub端注册。在A机中开启dos窗口输入命令开启服务
java -jar C:\selenium-server-standalone-3.0.1.jar -role hub -maxSession 40 -port 6000
其中-role 代表所属角色,值为hub 或者node
- maxSesssion 代表允许多少个node接入
-port 代表端口 用于node端接入时链接
5.node 端注册
在B机中依次开启4个dos窗口按下面执行。
5.1 注册32位IE
java -jar C:\selenium-server-standalone-2.53.0.jar -role node -host 10.238.10.30 -hub http://10.238.225.19:6000/grid/register -Dwebdriver.ie.driver="C:\IEDriverServer32.exe" -browser browserName=explorer -port 6062 -maxSession 10
5.1 注册64位IE
echo startIeNode java -jar C:\selenium-server-standalone-2.53.0.jar -role node -host 10.238.10.30 -hub http://10.238.225.19:6000/grid/register -Dwebdriver.ie.driver="C:\IEDriverServer64.exe" -browser browserName=explorer -port 6063 -maxSession 10
5.3 注册Chrome
java -jar C:\selenium-server-standalone-2.53.0.jar -role node -host 10.238.10.30 -hub http://10.238.225.19:6000/grid/register -Dwebdriver.chrome.driver="chromedriver.exe" -browser browserName=chrome -port 6061 -maxSession 10
5.4 注册FireFox
java -jar C:\selenium-server-standalone-2.53.0.jar -role node -host 10.238.10.30 -hub http://10.238.225.19:6000/grid/register -Dwebdriver.firefox.bin="C:\Program Files (x86)\mozilla firefox\firefox.exe" -browser browserName=firefox -port 6060 -maxSession 10
6.查看接入状态
完成如上操作可以在node 和hub分别查看到信息
node端

2.hub 端

7.在网页上输入:http://10.238.225.19:6000/grid/console 查看接入的各node配置信息

7.Ie浏览器设置
1.在B机 使用快捷键win+r 输入regedit 进入注册表
2.找到节点(如果没有就新建)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\ (32位windows)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\ (64位windows)
3.在项FEATURE_BFCACHE里新建一个DWORD值:名称为iexplore.exe,数值为0
4.在项FEATURE_HTTP_USERNAME_PASSWORD_DISABLE里新建一个DWORD值:名称为iexplore.exe,数值为0
8. 使用脚本驱动测试
1 DesiredCapabilities desiredCapabilities =null; 2 desiredCapabilities =DesiredCapabilities.chrome();//启动Chrome 3 desiredCapabilities =DesiredCapabilities.firefox();//启动firefox 4 desiredCapabilities =DesiredCapabilities.internetExplorer();//启动IE 5 desiredCapabilities.setCapability("ignoreProtectedModeSettings", true);//ie时设置
6 desiredCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);//ie时设置 7 WebDriver driver= new RemoteWebDriver(new URL("http://ip:端口/wd/hub/"),desiredCapabilities);
9. 运行测试 :将上面代码放入main或者TestNg中运行即可

浙公网安备 33010602011771号