测开必备:Selenium Grid分布式并发执行自动化测试

本文介绍了Selenium Grid的用途,如并行执行测试以提高效率,以及启动Grid的三种方法:命令行、JSON配置文件和Docker。详细讲解了每种启动方式的步骤,旨在帮助测试工程师选择最适合的自动化测试方案。
摘要由CSDN通过智能技术生成

在这里插入图片描述

01 什么是Selenium Grid

Selenium Grid 是 Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上

Selenium Grid有两个版本——老版本Grid 1和新版本Grid 2。我们只对新版本做介绍,因为Selenium团队已经逐渐遗弃老版本了

Selenium Grid主要使用 master-slaves (or hub-nodes) 理念 --一个 master/hub 和多个 基于master/hub注册的子节点 slaves/nodes。当我们在master上基于不同的浏览器/系统运行测试用例时,master将会分发给适当的node运行

在这里插入图片描述

02 使用时间及如何启动

什么时候使用Selenium Grid

  • 同时在不同的浏览器、操作系统和机器上运行测试。最大程度用于兼容性测试
  • 减少运行时间

怎样启动Selenium Grid?

启动Selenium Grid的三种方式,一种直接用命令行,另一种用JSON配置文件,最后一种docker启动。

01 命令行启动

将会使用2台机器,一台运行hub另一台运行node,为了方便描述,将运行hub的机器命名为“Machine H”(IP:192.168.1.100),运行node的机器命名为“Machine N”(IP:192.168.1.101)

第一步:

  • 配置Java环境
  • 已安装需要运行的浏览器
  • 下载浏览器driver,放到和selenium server相同的路径下(查看)
    ,否则在启动node时要加参数,不然启动不了浏览器(java -Dwebdriver.chrome.driver=“C:\yourpath\chromedriver.exe” -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.100:5566/grid/register/,可切换浏览器)
    在这里插入图片描述

下载selenium server,将selenium-server-standalone-X.XX.jar分别放在“Machine H”和“Machine N”上(自定义路径)

图片

第二步:

在机器“Machine H”上打开命令行,到selenium server所在的路径,运行:java -jar selenium-server-standalone-3.141.59.jar -role hub -port 5566,成功启动你会看到:
在这里插入图片描述
或者直接在机器“Machine H”上的浏览器(“Machine N”则需要将IP修改为“Machine H”的)打开:http://localhost:5566/grid/console ,将会看到:

图片

在机器“Machine N”上打开命令行,到selenium server所在的路径,运行:java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.100:5566/grid/register/ -port 5577,成功启动你会看到:
在这里插入图片描述
刷新:http://localhost:5566/grid/console ,将会看到:

图片

第三步:

运行测试脚本,将会看到在机器“Machine N”上打开了Chrome浏览器,并运行了测试用例:
在这里插入图片描述

from selenium import webdriver

ds = {
   'platform': 'ANY',
      'browserName': "chrome",
      'version': '',
      'javascriptEnabled': True
      }
dr = webdriver.Remote('http://192.168.1.101:5577/wd/hub', desired_capabilities=ds)
dr.get("https://www.baidu.com")
print dr.name

02 Json配置文件启动

第一步:

创建hub的Json配置文件( 查看)

代码如下:

    {
   
      "port": 4444,
      "newSessionWaitTimeout":
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值