实例演示:Selenium 测试框架中使用grid

发表于:2021-9-30 09:28

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

 作者:佚名    来源:知乎

  首先介绍一下grid ,selenium grid 是一种执行测试用例时使用的包含不同平台(windows、LinuxAndroid)的框架,并且这些平台是由一个中心点控制,这个中心点称之为HUB,而那些不同的平台称之为NODE。
  其结构如下:
  为什么使用selenium grid:
  如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的solution就是使用grid.selenium-grid是用于设计帮助我们进行分布式测试的工具,其整个结构是由一个hub节点和若干个代理节点组成。hub用来管理各个代理节点的注册和状态信息,并且接受远程客户端代码的请求调用,然后把请求的命令再转发给代理节点来执行。
  怎么使用
  首先启用HUB:
  在A机器下载:selenium standalone 4.6:http://pan.baidu.com/s/1qWE7SD2
  然后创建HUB.bat
  内容为:
   java -jar selenium-server-standalone-2.46.0.jar -role hub 
  其默认监听端口4444,默认IP localhost 如果要修改,只需要加-port 参数和-Hubhost:
  java -jar selenium-server-standalone-2.46.0.jar -role hub  -port 1235 -Hubhost 192.168.2.45
  接下来在B机添加node ,创建Node.bat,这里使用的是默认的Hubhost Ip 和端口:
  java -jar selenium-server-standalone-2.46.0.jar -role node -hub http://localhost:4444/grid/register
  为了使用chrome和IE driver,我们需要这样设置:
  java -Dwebdriver.ie.driver="C:\Users\workspace\Demo\webDriver\IEDriverServer.exe" -Dwebdriver.chrome.driver="C:\Users\workspace\Demo\webDriver\chromedriver.exe" -jar selenium-server-standalone-2.46.0.jar -role node -hub http://localhost:4444/grid/register
  分别启动这两个bat,若使用remote Driver,需要设置这样的参数:
  DesiredCapabilities capability = DesiredCapabilities.firefox();
          WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
          capability.setBrowserName("firefox" ); 
          capability.setVersion("3.6");
  所以我们索性创建一个bean:
  然后在DriverFactory里创建getRemoteDriver
  接下来就可以在case里边使用:
   @BeforeClass(alwaysRun=true)
       public void beforeTest()
       {
           driver = DriverFactory.getRemoteDriver(new RemoteBrowserBean("chrome"));
       }

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号