Skip to main content

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

Project description

WerDriverManagerCn

基于 阿里源 开发,灵感来源:webdriver_manager,向原作者致敬!

开发背景

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

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

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

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

解决问题

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

已实现功能

后续都会实现,如果有需求请及时提Issue

Client Windows MacOS Linux
Chrome
(未验证)
Firefox
(未验证)
IE
Edge
(未验证)

使用方法

安装

  • 在线安装(推荐):

    • 安装命令:pip install webdrivermanager_cn
    • 在线升级:pip install -U webdrivermanager_cn
  • 本地安装(不推荐):

    • 下载发行版本后,本地安装即可:pip install path/webdrivermanager_cn-X.X.X-py3-none-any.whl

导入使用

为简化使用方法,降低替换成本,决定沿用webdriver_manager的使用风格: 如:

  • ChromeDriver
from webdrivermanager_cn.chrome import ChromeDriverManager

driver_path = ChromeDriverManager().install()
  • Geckodriver
from webdrivermanager_cn.geckodriver import GeckodriverManager

driver_path = GeckodriverManager().install()
  • edge
from webdrivermanager_cn.microsoft import EdgeWebDriverManager

driver_path = EdgeWebDriverManager().install()

全局变量

wdmcn也像wdm一样,内置了一些全局变量,后续会根据需求继续添加,具体请看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,以减少磁盘占用。

其他

如果在使用过程中有任何问题,欢迎提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-1.2.5-py3-none-any.whl (22.0 kB view hashes)

Uploaded Python 3

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