Serenity / Selenium浏览器立即关闭

时间:2017-09-14 06:55:23

标签: java selenium selenium-webdriver serenity-bdd

我正在使用Serenity bdd 1.53和最新的Chrome驱动程序。 当测试运行时,浏览器几乎立即关闭,Selenium抛出错误" Web驱动程序异常:未知错误:jQuery未定义"。

我试图等待jquery加载,但结果几乎一直都是这样。

 public boolean waitForJSandJQueryToLoad() {
    WebDriver driver = getDriver();
    WebDriverWait wait = new WebDriverWait(driver, 30);

    // wait for jQuery to load
    ExpectedCondition<Boolean> jQueryLoad = new ExpectedCondition<Boolean>() {
        @Override
        public Boolean apply(WebDriver driver) {
            try {
                return ((Long)((JavascriptExecutor)driver).executeScript("return jQuery.active") == 0);
            }
            catch (Exception e) {
                // no jQuery present
                return true;
            }
        }
    };

    // wait for Javascript to load
    ExpectedCondition<Boolean> jsLoad = new ExpectedCondition<Boolean>() {
        @Override
        public Boolean apply(WebDriver driver) {
            return ((JavascriptExecutor)driver).executeScript("return document.readyState")
                    .toString().equals("complete");
        }
    };

    return wait.until(jQueryLoad) && wait.until(jsLoad);
}

试图等待整个页面加载,但同样的事情发生了。

    void waitForLoad() {
    new WebDriverWait(getDriver(), 30).until((ExpectedCondition<Boolean>) wd ->
            ((JavascriptExecutor) wd).executeScript("return document.readyState").equals("complete"));
}

测试在我的本地VM上运行良好,但是当我尝试在外部服务器上进行测试时,这个问题总会发生。

这个问题可能是什么原因?

编辑: 堆栈跟踪

 Web driver exception: unknown error: jQuery is not defined
(Session info: chrome=60.0.3112.113)
(Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 6 milliseconds

0 个答案:

没有答案