如何使用AXE_Selenium运行全规则无障碍测试并获取完整通过报告
问题原因
默认配置下,axe-core仅会返回未通过和待确认的规则检测结果,已通过的规则默认不会纳入返回结果,这就是你只能看到2条通过规则的原因。
解决方法
- 第一步:在初始化AxeBuilder时配置运行参数,显式指定需要返回已通过规则的结果
对应修改后的代码如下:AxeResult axeResult = new AxeBuilder(webDriver) .WithTags("wcag2a","wcag21aa") // 配置返回所有类型的检测结果:通过、违例、待确认 .Options(new AxeRunOptions() { ResultTypes = ResultType.Passes | ResultType.Violations | ResultType.Incomplete }) .Analyze(); - 第二步:读取完整结果
配置完成后,你可以通过axeResult.Passes属性获取所有符合wcag2a、wcag21aa标签的已通过规则的完整信息,包含规则ID、规则描述、匹配的检测节点等字段。如果需要生成可视化报告,可以将整个AxeResult对象序列化为JSON后,使用axe官方的报告模板直接渲染出完整的测试报告。
注意事项
开启全量通过结果返回后,会增加单轮测试的返回数据体积,也会小幅延长测试执行耗时,如果你仅需要定位无障碍问题,日常测试可以保留默认配置,仅在需要输出完整合规报告时再开启该配置即可。
内容的提问来源于stack exchange,提问作者DevX
相关产品推荐
相关产品推荐

