selenium Grid配置多个节点运行多个浏览器

本文介绍如何配置和使用Selenium Grid进行跨浏览器测试。包括下载Selenium Server、启动Hub与节点、多线程启动浏览器实例等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、下载selenium-server-standalone-.jar
历史版本链接:http://selenium-release.storage.googleapis.com/index.html
2、启动hub

java -jar {path}/selenium-server-standalone-3.8.1.jar -role hub (默认端口4444

3、启动节点

启动本机节点:

java -jar {path}/selenium-server-standalone-3.8.1.jar -role node  -hub http://localhost:4444/grid/register(默认端口5555)
java -jar {path}/selenium-server-standalone-3.8.1.jar  -port 4445 -role node  -hub http://localhost:4444/grid/register((指定端口)

在其他电脑上启动节点:

java -jar {path}/selenium-server-standalone-3.8.1.jar -port 4452 -role node -hub http://{启动hub的机器的IP}:4444/grid/register
java -jar {path}/selenium-server-standalone-3.8.1.jar -port 4453 -role node -hub http://{启动hub的机器的IP}:4444/grid/register

mac电脑查看本机正在使用的ip可通过在终端输入【ifconfig | grep “inet ” | grep -v 127.0.0.1】查看

4、查看后台信息
http://127.0.0.1:4444/grid/console

这里写图片描述

测试代码,运行chrome,Firefox浏览器:

from selenium import webdriver
import time
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
list={'http://127.0.0.1:5555/wd/hub':'chrome',
      'http://127.0.0.1:4445/wd/hub':'firefox'}

for host,browser in list.items():
    print(host,browser)
    driver=webdriver.Remote(command_executor=host,
                            desired_capabilities={'platform':'ANY',
                                                    'browserName':browser,
                                                    'version':'',
                                                    'javascriptEnabled':True})

    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys(browser)
    driver.find_element_by_id('su').click()
    driver.close()

多线程启动浏览器实例

#-*- coding:utf-8 -*-
from selenium import webdriver
from time import sleep
from threading import Thread

def test_baidu_search(host, browser):
    driver = None
    driver=webdriver.Remote(command_executor=host,
                            desired_capabilities={'platform':'ANY',
                                                    'browserName':browser,
                                                    'version':'',
                                                    'javascriptEnabled':True})
    if driver == None:
        exit()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys(browser)
    driver.find_element_by_id('su').click()
    driver.quit()


if __name__ == "__main__":
    # 浏览器和首页url
    data = {'http://127.0.0.1:5555/wd/hub':'chrome',
      'http://127.0.0.1:4445/wd/hub':'chrome'}
    # 构建线程
    threads = []
    for host, browser in data.items():
        t = Thread(target=test_baidu_search,args=(host,browser))
        threads.append(t)

    # 启动所有线程
    for thr in threads:
        thr.start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值