python库集成axe和selenium进行web可访问性测试。
axe-selenium-python的Python项目详细描述
axe selenium python集成了axe和selenium以实现自动化的web可访问性测试。
此版本的axe selenium python使用axe core@3.1.1。
要求
要使用axe selenium python,您需要以下先决条件:
- 硒=3.0.0
- python 2.7或3.6
- 您要使用、下载并添加到路径中的浏览器的相应驱动程序,例如geckodriver for firefox:
安装
要安装axe selenium python:
$ pip install axe-selenium-python
用法
fromseleniumimportwebdriverfromaxe_selenium_pythonimportAxedeftest_google():driver=webdriver.Firefox()driver.get("http://www.google.com")axe=Axe(driver)# Inject axe-core javascript into page.axe.inject()# Run axe accessibility checks.results=axe.run()# Write results to fileaxe.write_results(results,'a11y.json')driver.close()# Assert no violations are foundassertlen(results["violations"])==0,axe.report(results["violations"])
方法axe.run()接受两个参数:context和options。
有关context和options的详细信息,请查看aXe documentation here。
贡献
分叉存储库并提交带有错误修复和增强的prs; 我们非常欢迎您的贡献。
节点依赖项必须通过在axe selenium python目录中运行npm install
来安装。
您可以使用 tox:
$ tox
资源
变更日志
版本2.1.5
中断更改:
- axe类方法execute已重命名为run,以便在axe核心api中镜像该方法。
版本2.1.0
- 创建package.json文件以保持axe核心依赖性
- 用更有意义的集成测试替换单元测试 -包含用于集成测试的示例HTML文件
版本2.0.0
- 所有不属于axe核心的功能都被移到一个单独的包pytest-axe中。这包括:
- run_axehelper方法
- get_rulesaxe类方法
- runaxe类方法
- impact_includedaxe类方法
- analyzeaxe类方法。
此更改的目的是分离特定于mozilla firefox测试工程团队的实现,并将基本的axe-selenium-python包留给更广泛的用例。这个包是从deque的java包axe selenium java建模的,现在将更紧密地映射它。
当将axe-selenium-python与pytest-axe结合使用时,仍然可以使用所有功能。
版本1.2.3
- 将analyze方法添加到axe类。此方法运行可访问性检查,并基于页面url和时间戳将json结果写入文件。
- 通过设置环境变量ACCESSIBILITY_REPORTING=true,可以将结果写入文件。文件将被写入到^ TT18}$目录,如果不存在,则必须创建该目录。
- 通过设置环境变量ACCESSIBILITY_DISABLED=true,可以禁用辅助功能检查。
版本1.2.1
- 已将axe更新为axe-core@2.6.1
- 修改了impact_included class方法,以反映对axe api的更改:
- 现在只有3个影响级别:“严重”、“严重”和“轻微”
版本1.0.0
- 自述文件中更新的用法示例
- 向缺少文档的方法添加docstring
- 删除了未使用的文件
版本0.0.3
- 在AcE类中添加run方法以简化现有测试套件 中的用法
- 运行方法包括设置要测试的影响级别的能力:“轻微”、“中等”、“严重”、“严重”
版本0.0.28
- 添加硒实例作为类属性
- 将文件路径更改为与操作系统无关的结构
- 修复了与关键字一起使用的文件读取操作
版本0.0.21
- 修复了axe api文件的包含及其引用
- 更新了自述文件