python selenium gird

本文介绍了如何使用Python的Selenium库配合Pytest进行网页自动化测试,并详细展示了通过Grid Hub管理和不同浏览器(Chrome和Firefox)的远程驱动。涉及设置、测试用例和清理过程,适合学习Web自动化测试的基础实践。

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

python demo

from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
import time
import pytest


class Driver():
    hub_url='127.0.0.1:5001/wd/hub'

    def chrome(self):
        capability=DesiredCapabilities.CHROME

        driver=webdriver.Remote(self.hub_url,desired_capabilities=capability)
        return driver

    def firefox(self):
        capability = DesiredCapabilities.FIREFOX

        driver = webdriver.Remote(self.hub_url, desired_capabilities=capability)
        return driver

class TestBaidu:

    def setup(cls):
        cls.driver=Driver().chrome()
        cls.driver.implicitly_wait(10)

    def teardown(self):
        time.sleep(5)
        self.driver.quit()

    def test_baidu(self):
        self.driver.get('https://www.baidu.com')
        self.driver.find_element('id','kw').send_keys('hogwarts')
        self.driver.find_element('id','su').click()
    def test_baidu1(self):
        self.driver.get('https://www.baidu.com')
        self.driver.find_element('id','kw').send_keys('hogwarts')
        self.driver.find_element('id','su').click()

    def test_baidu2(self):
        self.driver.get('https://www.baidu.com')
        self.driver.find_element('id','kw').send_keys('hogwarts')
        self.driver.find_element('id','su').click()


if __name__ == '__main__':
    pytest.main(['-sv','-n','3','test_baidu.py'])

#启动主节点

docker run --name=hub -p 5001:4444 -e GRID_TIMEOUT=0 -e GRID_THROW_ON_CAPABILITY_NOT_PRESENT=true -e GRID_NEW_SESSION_WAIT_TIMEOUT=-1 -e GRID_BROWSER_TIMEOUT=15000 -e GRID_TIMEOUT=30000 -e GRID_CLEAN_UP_CYCLE=30000 -d selenium/hub:3.7.1-beryllium

# 启动从节点, --link hub指定注册到hub主节点

docker run --name=chrome -p 5902:5900 -e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/null -v /dev/shm:/dev/shm --link hub -d selenium/node-chrome-debug:3.7.1-beryllium

默认vnc密码:secret

mac可通过访达连接服务器输入vnc://127.0.0.1:5902连接,输入vnc密码

显示如下页面,可以进行调试查看

非本机指定这两个环境变量:

HUB_PORT_4444_TCP_ADDR

HUB_PORT_4444_TCP_PORT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值