因此,我试图找出将Axe-core与Selenium一起使用的可访问性测试。轴芯看起来很有前途,但我被困在一个地方。

我想使用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 error: axe.run arguments are invalid



  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中提到的解决方案,但是尽管该解决方案不会引发任何错误,但是会显示列表中不存在的标签的结果。

任何帮助表示赞赏。谢谢。

最佳答案

因此,我从门户网站https://gitter.im/dequelabs/axe-core#获得了答案。在这里发布给其他人。

 JSONObject responseJSON1 = new AXE.Builder(driver, scriptUrl).options("{runOnly:
 ['wcag2a', 'wcag2aa']}").analyze();

10-08 18:17