Skip to main content

基于阿里源开发的WebDriver管理工具

Project description

WebDriverManagerCn V2

基于 阿里源华为源 整合的WebDriver下载工具

如有新的国内源,欢迎提Issue

开发背景

作者是测开一枚,一直在公司默默无闻的做着自动化测试,偶然公司同事安利 webdriver_manager 这个模块可以有效解决Chrome频繁更新导致ChromeDriver无法使用的问题,可以直接更换国内源,解决默认为GitHub源而导致下载慢或者失败的问题。

自动化项目引入这个模块后,效果很好,稳定性也很好,且一直相安无事。直到2023年中的某一天,这个平静的情况被打破了。。。

ChromeDriver官方团队修改了发布方式,导致国内绝大部分的源都无法正确同步新版的ChromeDriver,作者使用的阿里源,也停留在了114版本上,无法继续更新。已向阿里源开发团队提交Issue后,已将新版ChromeDriver源同步完成,但是,已经无法按照新版源更换源地址实现下载了。

所以,经过作者研究源码,决定重新写一个下载模块,且基于国内源为下载源!

解决问题

本模块可以看作是 webdriver_manager 模块的国内平替,为那些公司无法通过魔法手段连接GitHub(比如作者公司T_T) ,和需要持续更新WebDriver的自动化测试同学们提供服务。

已实现功能

如果有其他 WebDriver 需求请及时提Issue

Client Windows MacOS Linux
Chrome
Firefox

使用方法

安装升级

  • 安装命令:pip install webdrivermanager_cn
  • 在线升级:pip install -U webdrivermanager_cn

导入使用

  • ChromeDriver

    • 阿里源
      from webdrivermanager_cn import ChromeDriverManagerAliMirror
      
      driver_path = ChromeDriverManagerAliMirror().install()
      
    • 华为源
      from webdrivermanager_cn import ChromeDriverManagerHuaweiMirror
      
      driver_path = ChromeDriverManagerHuaweiMirror().install()
      
    • 手动切换源
      from webdrivermanager_cn import ChromeDriverManager
      
      driver = ChromeDriverManager()
      driver.set_ali_mirror()  # 切换为阿里源
      driver.set_huawei_mirror()  # 切换为华为源
      
      driver_path = driver.install()
      
  • Geckodriver

    • 阿里源
      from webdrivermanager_cn import GeckodriverManagerAliMirror
      
      driver_path = GeckodriverManagerAliMirror().install()
      
    • 华为源
      from webdrivermanager_cn import GeckodriverManagerHuaweiMirror
      
      driver_path = GeckodriverManagerHuaweiMirror().install()
      
    • 手动切换源
      from webdrivermanager_cn import GeckodriverManager
      
      driver = GeckodriverManager()
      driver.set_ali_mirror()  # 切换为阿里源
      driver.set_huawei_mirror()  # 切换为华为源
      
      driver_path = driver.install()
      

全局变量

wdmcn内置了一些全局变量,后续会根据需求继续添加,具体请看config.py,这里简单列举一下。

  • 日志功能

    • 日志功能默认关闭,可以通过os.environ['WDM_LOG'] = 'true'打开,默认为false
    • 日志等级,可以通过os.environ['WDM_LOG_LEVEL'] = f'{logging.INFO}'修改,默认等级为INFO
    • 自定义logger,可以通过导入set_logger()方法,将您自己的logger添加进来,则日志输出就会使用您的logger记录
  • 定期清理旧的webdriver

    • 如果您使用的wdmcn时间很长以后,webdriver会随着chrome等浏览器版本的迭代越来越多,现在可以默认删除无用的webdriver,可以使用os.environ['WDM_CACHE_TIME'] = 5 设置,默认会清理5天前的webdriver,以减少磁盘占用。

声明

本项目基于 Apache-2.0 协议开源,目的仅供提供自动化测试工具使用,请勿用于非法用途。对于任何使用者的行为,本项目及本人不承担任何责任。

本项目中,基于以下付网站提供服务,如有服务相关的问题,本人会积极推进,但是无法保证完全解决,请悉知风险。

其他

如果在使用过程中有任何问题,欢迎提Issue,会在第一时间处理!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

webdrivermanager_cn-2.1.5-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file webdrivermanager_cn-2.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for webdrivermanager_cn-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bc471915b641e46243843970a832b9af1efdd14a96d873594a64b68a7c604b7c
MD5 e92473edb64898b2d6dd4daedacd5f0a
BLAKE2b-256 f9403bceb5d721aebda5b4cf1015c61097a853c02f965881b810672fd406f000

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page