javascript - Play框架集成测试中禁用HtmlUnit javascript错误?

标签 javascript jquery playframework htmlunit

由于 jquery 中的 JavaScript 问题,HtmlUnit 导致集成测试失败。我试图弄清楚如何在这种情况下禁用 javascript 检查。我知道有 client.getOptions().setThrowExceptionOnScriptError(false) 选项,但不知道如何在这种情况下实现该选项。这是测试:

@Test
public void test() {
    running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>() {
        public void invoke(TestBrowser browser) {
            browser.goTo("http://localhost:3333");
            assertTrue(browser.pageSource().contains("Sears Home Services Platform Admin"));
        }
    });
}

我收到的错误是:

[error] - com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter - runtimeError: message=[An invalid or illegal selector was specified (selector: ':checked' error: Invalid selector: *:checked).] sourceName=[http://localhost:3333/webjars/jquery/1.11.1/jquery.min.js] line=[2] lineSource=[null] lineOffset=[0]

最佳答案

这个问题的答案Fluentlenium crashes on jquery in play framework建议将 HTMLUNIT 替换为 new HtmlUnitDriver()

这为我解决了这个问题。

你的代码看起来像:

@Test
public void test() {
    running(testServer(3333, fakeApplication(inMemoryDatabase())), new HtmlUnitDriver(), new Callback<TestBrowser>() {
        public void invoke(TestBrowser browser) {
            browser.goTo("http://localhost:3333");
            assertTrue(browser.pageSource().contains("Sears Home Services Platform Admin"));
        }
    });
}

根据他的说法,这将在您的测试中完全禁用 javascript,因为 HTMLUNIT 包含 javascript 并在 jQuery 源代码中发现错误。

关于javascript - Play框架集成测试中禁用HtmlUnit javascript错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33153674/

相关文章:

javascript - 如何使用 React Router 替换 render 方法中的组件?

javascript - Thunderbird,如何以编程方式选择第一个选项卡?

javascript - Python/IE7 - 如何绕过警告框

javascript - 如何删除以前的记录,问题是当我从下拉列表中选择城市时它会被连接起来?

javascript - 通过 JavaScript 更改时,HTML 标签将不接受我的 CSS 类

nginx - Playframework Websocket 的 VHosts Nginx 配置

java - 在 Play Framework 上使用 YAML 初始化一些测试数据

pygtk 界面中的 Javascript 界面?

javascript - jquery选择表中的所有单元格,除了

syntax - @with 注释到底有什么作用? ( Play Framework )