一、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()
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。