Selenium Grid使用与探索

一、启动Grid,顺序执行测试案例:

进入到Selenium Grid的根目录,

ant launch-hub。启动Hub服务。运行后查看http://localhost:4444/console ,检查Hub服务是否启动成功。

 

Hub启动成功后,首先来试运行一下,在一个新终端窗口中,执行命令:ant run-demo-in-sequence

通过Remote-Control,Selenium测试案例将被顺序执行,Hub只启动一个selenium-RC,这些测试案例都是在一个selenium-RC中运行。这样并不让人感到激动,因为通过正常的Selenium-RC,一样可以办到,对吧。

但这仅仅是一个起步,你的目标可能是想并行地运行测试案例。

此时可用的Remote Controls:

HostPortEnvironment
localhost5555*firefox

 

二、 与Grid在同一台机器上,只要指定不同的端口号,可以运行多个RC在同一台机器上,并行运行测试案例:

        分别在3个终端进入到Selenium Grid的根目录,执行如下操作:  

        ant -Dport=5556 launch-remote-control
  ant -Dport=5557 launch-remote-control
  ant -Dport=5558 launch-remote-control

  运行后,通过访问Grid控制台,验证RC注册成功,下图可以看到开启了3个remote-control(5555端口是之前执行用例时默认启动的):

 

 

注意:同一台机器上启动的Client的端口号不可重复

 然后,我们来看看并行执行测试案例,在一个新终端窗口中,执行命令:ant run-demo-in-parallel

通过Remote-Control,Selenium测试案例将被并发执行,这些测试案例都由Hub进行资源分配,在不同的selenium-RC中运行,达到并发效果。

可以从Hub控制台看到调动了4个selenium-RC来同步工作。

此时可用的Remote Controls:

HostPortEnvironment
localhost5555*firefox
localhost5556*firefox
localhost5557*firefox
localhost5558*firefox

 

三、与Grid不在同一台机器、不同操作系统、甚至不同浏览器下,运行Selenium Remote Control:

ant -Dport="5555" –Dhost=remote-control的IP地址  -DhubURL=http://localhost:4444 -Denvironment="*iexplore"  -DseleniumArgs="-multiWindow"  launch-remote-control  来启动第一个Client。

参数解释: 

 -Dport:Client的端口号  

 -Dhost:Client的hostname,如果没有可以用IP代替 

 -DhubURL:Hub控制台的URL

 -Denviroment:Client所支持的浏览器类型(更多类型请查看控制台显示的Browser列表)如果不指定Denviroment参数,则在不同机上默认用*firefox执行用例。

 -DseleniumArgs:SeleniumRC启动的参数

  launch-remote-control:表示启动一个Client

 启动其它Client同理:参考上述参数,

注意:启动client后,再次查看http://localhost:4444/console ,发现Available Remote Controls列表出现刚启动的Client。

 

假设环境如下图:

 

 env

 

  我们三台机器,一台机器hub.thoughtworks.com运行grid,其它两台rc1和rc2分别运行两个RC.则我们需要在启动RC时,使用下列命令指定相应的参数:
        ant -Dport=<port> -Dhost=<hostname> -DhubURL=<hub url> -Denvironment="Firefox on Windows" launch-remote-control
  其中,-Dport指定RC的端口号,-Dhost指定RC所在机器的Host名。-DhubURL指定Grid机器的URL,-Denvironment标示RC的浏览器和操作平台。

       

   具体可参考Grid控制台说明,也可以查看grid_configuration.yml配置文件。


  URL可以使Host Name,也可以是TCP/IP。
  按照上图所示参数运行完毕后,通过Grid控制台验证成功结果如下:

Host

Port

Environment

rc1.seleniumhq.org

5555

Firefox on Windows

rc1.seleniumhq.org

5556

Firefox on Windows

rc2.seleniumhq.org

5555

Firefox on Mac

rc2.seleniumhq.org

5556

Firefox on Mac

这样,Selenium Hub会确保提供给测试案例使用的Remote-Control。需要注意的是,Remote Control的环境参数可以随意注册,即使FireFox浏览器工作在Linux下,你也可以向Hub注册,说它工作在OS X下。这就意味着Hub不会检验注册信息的正确性,你南大要自行保证这一点。

 可以在不同平台下执行测试案例,在一个新终端窗口中,执行命令:ant  run-demo-for-multiple-environments

 

四、Selenium Grid的一些缺点:

一些目前已知的会影响使用的问题(可以通过重启服务来解决)。 

Hub监控页面不能快速地更新链接到它上面的Client资源

如果Selenium脚本运行被意外终止,或者remote-control被关闭,Client资源不会被释放。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值