网站建设内容清单,html5网站制作实战,杭州pc网站开发公司有哪些,访问国外网站很慢1、前言
在我们使用 Selenium 进行 UI 自动化测试时#xff0c;常常会因为浏览器驱动与浏览器版本不匹配#xff0c;而导致自动化测试无法执行#xff0c;需要手动去下载对应的驱动版本#xff0c;并替换原有的驱动#xff0c;可能还会遇到跨操作系统进行测试的时候…1、前言
在我们使用 Selenium 进行 UI 自动化测试时常常会因为浏览器驱动与浏览器版本不匹配而导致自动化测试无法执行需要手动去下载对应的驱动版本并替换原有的驱动可能还会遇到跨操作系统进行测试的时候以及浏览器自动升级后也会导致与驱动不匹配的问题。
为了解决这个问题可以使用 webdriver-manager它可以帮助我们自动识别当前运行环境下的系统信息以及对应浏览器信息并自动下载对应浏览器驱动。
2、简介
webdriver-manager 库提供了自动管理不同浏览器驱动程序的方法。
主要思想是简化不同浏览器的二进制驱动程序的管理。
目前支持
ChromeDriver
EdgeChromiumDriver
GeckoDriver
IEDriver
OperaDriver
安装
pip install webdriver_manager
如果你想学习自动化测试我这边给你推荐一套视频这个视频可以说是B站播放全网第一的自动化测试教程同时在线人数到达1000人并且还有笔记可以领取及各路大神技术交流798478386
15天学会性能测试通俗易懂详细教学Jmeter性能测试实战集群压测全链路压测性能调优瓶颈分析极速掌握干就完事_哔哩哔哩_bilibili15天学会性能测试通俗易懂详细教学Jmeter性能测试实战集群压测全链路压测性能调优瓶颈分析极速掌握干就完事共计27条视频包括1.【性能测试】什么是性能测试以及性能测试的价值和目的、2.【性能测试】真实企业性能测试指标详解以及指标测算、3.【性能测试】真实企业中性能测试流程以及细节剖析等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV1B14y1D7X9/?spm_id_from333.337
3、示例
原始代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-from selenium import webdriverdriver webdriver.Chrome()
driver.get(https://www.baidu.com/) 运行后报错发现此版本的 ChromeDriver 与当前浏览器版本不匹配无法执行。
更新代码导入webdriver-manager运行脚本webdriver-manager 将检查当前使用的浏览器版本并自动下载/更新匹配的浏览器驱动程序这样将始终保持浏览器版本与驱动程序是互相匹配的。
#!/usr/bin/env python
# -*- coding: utf-8 -*-from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManagerdriver webdriver.Chrome(executable_pathChromeDriverManager().install())
driver.get(https://www.baidu.com/)
4、更多
作者在示例中使用的是 Selenium 3webdriver-manager 也支持 Selenium 4 的。
1、Chrome
# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManagerdriver webdriver.Chrome(ChromeDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManagerdriver webdriver.Chrome(serviceChromeService(ChromeDriverManager().install()))
2、Chromium
# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeTypedriver webdriver.Chrome(ChromeDriverManager(chrome_typeChromeType.CHROMIUM).install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromiumService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeTypedriver webdriver.Chrome(serviceChromiumService(ChromeDriverManager(chrome_typeChromeType.CHROMIUM).install()))
3、Brave
# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeTypedriver webdriver.Chrome(ChromeDriverManager(chrome_typeChromeType.BRAVE).install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as BraveService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeTypedriver webdriver.Chrome(serviceBraveService(ChromeDriverManager(chrome_typeChromeType.BRAVE).install()))
4、Edge
# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManagerdriver webdriver.Edge(EdgeChromiumDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from webdriver_manager.microsoft import EdgeChromiumDriverManagerdriver webdriver.Edge(serviceEdgeService(EdgeChromiumDriverManager().install()))
5、Firefox
# selenium 3
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManagerdriver webdriver.Firefox(executable_pathGeckoDriverManager().install())# selenium 4
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManagerdriver webdriver.Firefox(serviceFirefoxService(GeckoDriverManager().install()))
6、IE
# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import IEDriverManagerdriver webdriver.Ie(IEDriverManager().install())# selenium 4
from selenium import webdriver
from selenium.webdriver.ie.service import Service as IEService
from webdriver_manager.microsoft import IEDriverManagerdriver webdriver.Ie(serviceIEService(IEDriverManager().install()))
7、Opera
# selenium 3
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManagerwebdriver_service service.Service(OperaDriverManager().install())
webdriver_service.start()driver webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManagerwebdriver_service service.Service(OperaDriverManager().install())
webdriver_service.start()options webdriver.ChromeOptions()
options.add_experimental_option(w3c, True)driver webdriver.Remote(webdriver_service.service_url, optionsoptions)
8、自定义日志记录
如果需要使用自定义日志记录可以创建一个记录器并使用 set_logger() 进行设置。
import logging
from webdriver_manager.core.logger import set_loggerlogger logging.getLogger(custom_logger)
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
logger.addHandler(logging.FileHandler(custom.log))set_logger(logger)