因此,我正在尝试使用Selenium的Axe进行可访问性测试。斧头核心看起来很有希望,但我被困在一个地方。
我想使用wcag2a、wcag2aa这样的特定标记来运行测试。通过查看他们的api文档页- https://www.deque.com/axe/axe-for-web/documentation/api-documentation/,很明显我们必须传递类似于
axe.run(
{
runOnly: {
type: 'tag',
values: ['wcag2a', 'wcag2aa']
}
},
(err, results) => {
// ...
}
);
但问题是,我正在用Java编写测试,以及如何将其传递给代码。我研究了他们的Java项目https://github.com/dequelabs/axe-selenium-java的代码,但是没有提到如何传递这些参数。
我对它做了大量的rnd,尝试了如下所示的代码,但是得到了错误。
org.openqa.selenium.JavascriptException: javascript : axe.run参数无效
JSONObject responseJSON = new AXE.Builder (driver, scriptUrl)
.options("axe.run({ runOnly: ['wcag2a', 'wcag2aa'] },(err, results)=>{});").
analyze();
我也尝试了How to configure rules for wcag2aa in axe-core for selenium java中提到的解决方案,但是尽管该解决方案没有抛出任何错误,但是它显示了列表中没有的标记的结果。
任何帮助都是非常感谢的。谢谢。
发布于 2020-06-04 18:16:53
所以,我从门户网站https://gitter.im/dequelabs/axe-core#那里得到了答案。贴在这里给其他人看。
JSONObject responseJSON1 = new AXE.Builder(driver, scriptUrl).options("{runOnly:
['wcag2a', 'wcag2aa']}").analyze();
https://stackoverflow.com/questions/61072837
复制相似问题