Python+selenium 分布式测试工具Grid环境搭建

前提:主机和虚拟机配置好java、python+selenium的运行环境、VMware14虚拟机(一台PC可以启动多个node,可不用虚拟机,注意区分node端口就行)、selenium server(根据运行环境中selenium选择selenium server版本)

  • 桥接虚拟机和主机网络

1.编辑-虚拟网络编辑器-桥接模式-桥接到你主机网卡

2.右键-虚拟机设置-网络适配器-自定义(选择第一步设置的桥接模式)

3.关闭防火墙,查看IP地址,主机和虚拟机ping通


  • 主机启动selenium server(主节点-hub)

输入 java -jar selenium-server-standalone-xxx.jar -role hub -port xxxx

启动主机selenium server,设置主节点(-role hub), 设置端口号(-port xxx  #默认启动位4444端口,未被占用可不设置)

如下图:提示启动成功运行状态、节点注册地址、客户端连接地址和端口等信息

启动成功浏览器输入:http://xxx.xxx.xxx.xxx:4444/grid/console 查看selenium server的配置信息。如下图:


  • 虚拟机启动selenium server(子节点-node)

输入 java -jar selenium-server-standalone-xxx.jar -role node -host node.ip   -port  5555  -hub  http://xxx.xxx.xxx.xxx:4444/grid/register

启动子节点selenium server并注册到主机

-role node:设置为子节点(node)

-host : 设置子节点ip

-port :设置端口

-hub : 设置主节点注册地址

设置成功后主节点有提示的,如下图:

注: 同一电脑启动多个node需要注意端口区分:

java -jar selenium-server-standalone-xxx.jar -role node -host 192.168.1.99  -port 5556 -hub http://xxx.xxx.xxx.xxx:4444/grid/register

java -jar selenium-server-standalone-xxx.jar -role node -host 192.168.1.99  -port 5557 -hub http://xxx.xxx.xxx.xxx:4444/grid/register

  • 运行测试脚本:

#!/usr/bin/python3
# coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver = webdriver.Remote(command_executor="http://子节点IP/wd/hub",
                          desired_capabilities=DesiredCapabilities.CHROME)
"""
如果grid的hub可以接收到消息,但是测试不成功,则可以使用本地方法来调试。
如driver = webdriver.Chrome()来进行本地测试,
"""
# driver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()
driver.quit()
time.sleep(1)

参考:https://blog.csdn.net/songer_xing/article/details/72830936

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
python selenium可以通过分布式方式实现多个浏览器同时操作。你可以使用selenium grid来实现这一目的。 Selenium Grid是一个用于分布式测试的工具,它允许同时在多个机器上运行测试。它由两个主要组件组成:hub和node。Hub是主控制器,它负责接收测试请求,并将它们分发给可用的节点。每个节点都是一个独立运行的浏览器实例。 在使用Selenium Grid之前,需要先安装Java Development Kit (JDK)。然后按照以下步骤进行设置: 1. 下载Selenium Server JAR文件: 在https://www.selenium.dev/downloads/页面上下载最新的Selenium Server JAR文件。 2. 启动Hub: 打开命令提示符或终端窗口,导航到Selenium Server JAR文件所在的目录,并运行以下命令来启动Hub: ``` java -jar selenium-server-standalone-<version>.jar -role hub ``` 其中`<version>`是Selenium Server JAR文件的版本号。 3. 启动Node: 在每台要作为节点的机器上,打开命令提示符或终端窗口,并运行以下命令来启动节点: ``` java -jar selenium-server-standalone-<version>.jar -role node -hub http://<hub-ip>:4444/grid/register ``` 其中`<version>`是Selenium Server JAR文件的版本号,`<hub-ip>`是运行Hub的机器的IP地址。 4. 编写测试代码: 编写测试代码时,需要指定要执行测试的机器和浏览器。可以通过指定远程WebDriver的URL来实现。 以下是一个示例代码: ```python from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # 指定远程WebDriver的URL driver = webdriver.Remote( command_executor='http://<node-ip>:<node-port>/wd/hub', desired_capabilities=DesiredCapabilities.CHROME ) ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SitVen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值