前言:在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中运行即可

posted on 2018-04-04 16:10  jurryfu  阅读(139)  评论(0)    收藏  举报