用于集成axe和selenium以进行网络无障碍性测试的Python库。
项目描述
axe-selenium-python将aXe和selenium集成,以实现自动化的网络无障碍性测试。
此版本的axe-selenium-python正在使用axe-core@3.1.1。
需求
为了使用axe-selenium-python,您需要以下先决条件
selenium >= 3.0.0
Python 2.7或3.6
您打算使用的浏览器的适当驱动程序,已下载并添加到您的路径中,例如Firefox的geckodriver
安装
要安装axe-selenium-python
$ pip install axe-selenium-python
用法
from selenium import webdriver
from axe_selenium_python import Axe
def test_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 file
axe.write_results(results, 'a11y.json')
driver.close()
# Assert no violations are found
assert len(results["violations"]) == 0, axe.report(results["violations"])
axe.run()方法接受两个参数: context 和 options。
有关context 和 options的更多信息,请查看aXe文档。
贡献
分支仓库并提交带有错误修复和改进的PR;欢迎贡献。
必须在axe-selenium-python目录中运行npm install来安装Node依赖项。
您可以使用tox运行测试。
$ tox
资源
变更日志
版本 2.1.5
重大变更:
类Ax的方法 execute 已更名为 run,以与 axe-core API 中的方法保持一致。
版本 2.1.0
创建了 package.json 文件以维护 axe-core 依赖。
用更有意义的集成测试替换了单元测试 - 包含了一个用于集成测试的示例 html 文件。
版本 2.0.0
所有不属于 axe-core 的功能都已移动到单独的包 pytest-axe 中。这包括
run_axe 辅助方法
get_rules Axe 类方法
run Axe 类方法
impact_included Axe 类方法
analyze Axe 类方法。
这次变更的目的是将特定于 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 启用将结果写入文件。文件将写入 results/ 目录,如果尚不存在,则需要创建。
可以通过设置环境变量 ACCESSIBILITY_DISABLED=true 禁用可访问性检查。
版本 1.2.1
更新 axe 到 axe-core@2.6.1
修改 impact_included 类方法以反映 aXe API 的更改
现在只有 3 个影响级别:“critical”(临界)、“serious”(严重)和“minor”(轻微”)
版本 1.0.0
更新了 README 中的使用示例
为缺少文档的方法添加了文档字符串
删除了未使用的文件
版本 0.0.3
将 run 方法添加到 Axe 类以简化现有测试套件中的使用
run 方法包括设置要测试的影响级别的功能:“minor”(轻微)、“moderate”(中等)、“severe”(严重)、“critical”(临界”)
版本 0.0.28
将 selenium 实例添加为类属性
将文件路径更改为与操作系统无关的结构
修复了文件读取操作以使用关键字
版本 0.0.21
修复了包含 aXe API 文件及其引用
更新了 README
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。