Selenium Grid的如何使用

发表于:2017-6-02 11:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小布丁DIng    来源:简书

  一、Selenium Grid解决什么问题
  可以分布式运行自动化测试用例,提高执行效率和解决兼容性测试的要求。
  二、运行机制
  selenium Grid使用Hub和Node模式,一台计算机作为Hub(管理中心)管理其他多个Node(节点)计算机。Hub负责将测试用例分发给多台Node计算机执行,并收集多台Node计算机执行结果的报告,汇总后提交一份总的测试报告。
  Hub:
  在分布式测试模式中,只能有一台作为Hub的计算机。
  Hub负责管理测试脚本, 并负责发送脚本给其他Node节点。
  所有的Node节点计算机会在Hub计算机中先进行注册,注册成功后再和Hub计算机通信,Node节点计算机会告之Hub自己的相关信息。例如,Node节点的浏览器相关信息、最多并发数等。
  Hub计算机可以给自己分配执行测试用例的任务。
  Hub计算机分发的测试用例任务会在各个Node节点计算机执行。
  Node:
  在分布式测试模式中,可以有一个或者多个Node节点。
  Node节点会打开本地的浏览器完成测试任务并返回测试结果给Hub。
  Node节点的操作系统和浏览器版本无需和Hub保持一致。
  在Node节点上可以同时打开多个浏览器并行执行测试任务。
  三、使用方法
  1、准备两台计算机,一台作为Hub,命名为A;另一台作为Node,命名为B。
  2、打开http://selenium-release.storage.googleapis.com/index.html?path=2.51/地址,
  下载selenium-server-standalone-2.53.1.jar,保存在两台计算机的硬盘C:/grid文件夹中。
  3、在A计算机上打开cmd窗口,输入并执行以下语句:
  java -jar selenium-server-standalone-2.53.1.jar -role hub 或者
  java -jar selenium-server-standalone-2.53.1.jar -role hub -hubConfig hub.json
  参数:
  role参数:hub表示作为管理中心
  port参数:hub服务器的端口号
  hubConfig:hub各种配置的json文件路径。hub.json与jar包在同一个文件夹中
  此语句表示使用java命令把jar文件作为程序执行,并且把参数role和hubConfig传递给jar文件的函数,用来启动Hub管理中心,如下图所示:
  图中“http://172.16.231.45:4446/grid/”为Hub的地址。在计算机上打开http://172.16.231.45:4446/grid/console,验证此网址是否显示出“view config”的链接。
  4、在B计算机中打开cmd窗口,输入下面命令:
  java -jar selenium-server-standalone-2.53.1.jar -role webdriver -nodeConfig node.json
  参数:
  role参数:webdriver表示Node节点的名字
  nodeConfig :node各种配置的json文件路径。node.json与jar包在同一个文件夹中
  执行后,如下图所示:
  5、在访问Hub地址,http://172.16.231.45:4446/grid/console,验证Node节点是否已经注册成功,如下图所示:
  6、编写分布式测试脚本
  第一种方式:指定Node节点
  DesiredCapabilities dc = DesiredCapabilities.chrome();
  driver=newRemoteWebDriver(newURL("http://172.16.231.45:8888/wd/hub"),dc);
  第二种方式:指定Hub地址,由Hub分发
  DesiredCapabilities dc = DesiredCapabilities.chrome();
  driver=newRemoteWebDriver(newURL("http://172.16.231.45:4446/wd/hub"),dc);
  注意事项:
  new UR中的地址,必须加上"/wd/hub"
  第一种方式,测试用例只用在相应的Node节点计算机上执行
  第二种方式,有Hub根据每个Node节点浏览器版本及最大并发量分配测试用例
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号