点此获取更多相关资料
本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/27336
一、capability概述
- capability是webdriver支持的标准命令之外的扩展命令(配置信息)
- 配置web驱动属性,如浏览器名称、浏览器平台。
- 结合selenium gird完成分布式、兼容性测试
- 官网地址: https://www.selenium.dev/zh-cn/documentation/webdriver/capabilities/shared/
二、capability配置
def test_capability():# 切换成 windows 就会报错capabilities = {"browserName": "chrome", "platformName": "windows"}# 通过 desired_capabilities 添加配置信息driver = webdriver.Chrome(desired_capabilities=capabilities)driver.implicitly_wait(5)driver.get("https://ceshiren.com/")# 输入框输入搜索内容[霍格沃兹测试学院]text = driver.find_element(By.CSS_SELECTOR, ".login-button").text# 点击搜索按钮print(text)time.sleep(3)driver.quit()
三、Selenium Grid简介
- Selenium Grid 允许我们在多台机器上并行运行测试,并集中管理不同的浏览器版本和浏览器配置(而不是在每个单独的测试中)。
- 官网地址:https://www.selenium.dev/documentation/grid/
四、分布式运行
def test_ceshiren2():hogwarts_grid_url = "https://selenium-node.hogwarts.ceshiren.com/wd/hub"capabilities = {"browserName":"chrome","browserVersion":"101.0"}# 配置信息# 实例化Remote,获取可以远程控制的driver实例对象# 通过 command_executor 配置selenium hub地址# 通过 desired_capabilities 添加配置信息driver = webdriver.Remote(command_executor=hogwarts_grid_url,desired_capabilities=capabilities)driver.implicitly_wait(5)driver.get("https://ceshiren.com/")# 输入框输入搜索内容[霍格沃兹测试学院]text = driver.find_element(By.CSS_SELECTOR, ".login-button").text# 点击搜索按钮print(text)time.sleep(3)driver.quit()