我正在使用AXE Core使用 Protractor 进行辅助功能测试。在每个测试拆卸中使用以下方法来运行辅助功能检查。
AxeBuilder(browser.driver).options(context.config.axe)
.analyze(function(results) {
deferred.resolve(results);
});
使用以下 AxeCore 版本,我遇到了预期的可访问性冲突。
"axe-core": "^2.0.5",
"axe-webdriverjs": "^0.2.0",
我已将 Axe-core 版本升级到最新版本。在执行测试时,它会抛出此“无法将 axe-core 注入(inject)其中一个 iframe!”错误
"axe-core": "^3.5.0",
"axe-webdriverjs": "^2.3.0",
如何使用最新的 Axe 版本解决此错误?
使用的示例 Protractor 框架:
最佳答案
如果不查看相关网站,很难确定问题出在哪里。
但是,axe-webdriverjs 尝试将 ax 脚本注入(inject)到页面上的每个 iframe 中,以便它可以在每个 iframe 中运行 ax (从而从页面返回所有结果,甚至从 iframe 内部返回)。当这失败时,您会收到该错误。这可能是因为其中一个 iframe 具有 sandbox
属性,这会阻止脚本注入(inject)其中。如果是这样,您需要将 noSandbox: true
选项传递给 axewebdriver。
关于javascript - "Failed to inject axe-core into one of the iframes!"AX 可访问性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61392610/