WEB自动化测试基础09-selenium grid分布式

一、selenium grid概念

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

Selenium Grid可以同时在不同机器上测试不同浏览器,包含一个hub和多个node。node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息,同时hub会接受到即将被执行的测试用例及其相关信息,并通过这些信息自动选择可用的且符合浏览器与平台搭配要求的node,node被选中后,测试用例所调用的selenium命令就会被发送到hub,hub再将这些命令发送到指定给该测试用例的node,之后由node执行测试。

二、环境准备

java安装包、python安装包、selenium安装、chrome浏览器及浏览器驱动

selenium-server-standalone-v3.0.1.jar 

三、开始部署

java和python环境变量

把下载好的Chromedriver.exe 放在python根目录

3.1 启动一个Hub

java -jar selenium-server-standalone-2.53.1.jar 
-role hub 
-port 4444(选取一个没有被占用的端口,默认4444)

访问http://ip:4444/grid/ 

3.2 启动一个Node

java -D webdriver.gecko.driver="C:\geckodriver.exe" 
-jar selenium-server-standalone-2.53.1.jar 
-role node
-hub http://192.168.1.3:4444/grid/register 
-port 5566

上面那个命令参数的含义如下:

-D 指调用的驱动指定的路径。
-jar 指需要使用的Jar包
-role 指此台机器的角色,是Hub还是Node
-hub 指明Hub机器的地址
-port 指明通信的端口号,可以选择您想要的任何免费的端口号。

3.3 指定运行

如果你想在不同的系统和浏览器上启动的话,可以更改DesiredCapabilities 的设置,比如:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
#指定运行主机与端口号

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')


capabilities = {
    "browserName": "chrome",        # 浏览器名称 'chrome','internet explorer','firefox'
    "version": "",                  # 操作系统版本
    "platform": "ANY",              # 平台,这里可以是windows、linux、andriod等等
    "javascriptEnabled": True,      # 是否启用js
}

'指定node运行或交由hub自行分配'
driver = webdriver.Remote(
    command_executor = "http://node_ip:5555/wd/hub", <'可以是hub或node的IP'>
    desired_capabilities = capabilities,
    options = chrome_options
)

当然前提是你执行的机器上所有浏览器的驱动都安装到位且可以执行Selenium的自动化

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值