当前位置: 首页 > 知识库问答 >
问题:

使用axe-selenium和java实现a11y自动化

萧波峻
2023-03-14

我遵循了git hub的一个简单程序-https://github.com/dequelabs/axe-selenium-java

public class CheckAxe {

@Rule
public TestName testName = new TestName();

private WebDriver driver;
private static final URL scriptUrl = CheckAxe.class.getResource("/axe.min.js");

@BeforeClass
public void setUp() {
    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "//Drivers//chromedriver.exe");
    driver = new ChromeDriver();
}

@Test
public void testAccessibility() {
    driver.get("https://www.amazon.com");
    JSONObject responseJSON = new AXE.Builder(driver, scriptUrl).analyze();

    JSONArray violations = responseJSON.getJSONArray("violations");

    if (violations.length() == 0) {
        Assert.assertTrue(true, "No violations found");
    } else {
        AXE.writeResults(testName.getMethodName(), responseJSON);
        Assert.assertTrue(false, AXE.report(violations));
    }
}

@AfterClass
public void tearDown() {
    driver.quit();
}

}

执行时,得到如下错误-

你能告诉我,我在这里缺少什么吗?我的js文件在下面的位置。示例截图-

共有1个答案

南门正祥
2023-03-14

看起来像是Chrome驱动程序的可执行问题。

如果没有ChromeDriver可执行文件,就不可能在Google Chrome浏览器上运行Selenium测试脚本。

请从ChromeExe下载ChromeDriver exe文件

您可以将此文件保存在“C:/driver//chromedriver_win32”文件夹中

在setup方法中的exampleTest.java类中

public void setUp() {
        // ChromeDriver needed to test for Shadow DOM testing support
         System.setProperty("webdriver.chrome.driver",                 
                   "C://driver//chromedriver_win32//chromedriver.exe");
        driver = new ChromeDriver();
    }
 类似资料:
  • 如何在Java中使用实现拖放功能的自动化?

  • 引言   要不要做页面测试自动化的争议由来已久,不做或少做的主要原因是其成本太高,其中一个成本就是自动化脚本的编写和维护,那么有没有办法降低这种成本呢?童战同学在其博文《界面自动化测试猜想》提到“将TC自动转化为自动测试脚本”的构想,大家都觉得这个还是很有难度的,那么我们退一步,“将功能测试执行的过程录制下来转化为自动化测试脚本”,这个难吗?或许不难,借用Selenium这个工具就可以实现。   

  • selenium webdriver支持混合应用程序(iOS和Android)的自动化吗?如果是的话,那么在功能中需要做哪些更改呢?我们可以使用appium服务器来实现使用Selenium的混合应用程序自动化吗?

  • 本文向大家介绍Python+Selenium使用Page Object实现页面自动化测试,包括了Python+Selenium使用Page Object实现页面自动化测试的使用技巧和注意事项,需要的朋友参考一下   Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium

  • 问题内容: 我正在使用Java Selenium项目进行网页自动化。该网页包含许多我无法使用selenium 方法进行交互的多层影子根DOM元素。 我尝试了以下解决方案: Deep CSS(不适用于最新的Chrome浏览器) JS执行器。(这确实很繁琐,并且维护起来很复杂) 注意: 如果您知道我可以在Selenium Java框架中实现的除以上所列之外的任何其他解决方案,请传递该解决方案。提前致谢

  • 本文向大家介绍java+selenium实现自动化打开页面的方法,包括了java+selenium实现自动化打开页面的方法的使用技巧和注意事项,需要的朋友参考一下 闲聊一下: 毕业后的第一份工作很重要,我2015年6月985硕士毕业,7月参加工作,由于自己对职业生涯的迷茫,再加上对offer选择错误的后果(考虑太多也是错),导致自己现在并未从事自己一直愿意从事的自动化测试工作,今年想换工作了,还是