selenium-chromedriver – 在.url()调用之后没有任何反应

我有以下的守夜人测试:

module.exports = {

    'Set Initial Dataset' : function (browser) {

        browser
          .url('http://localhost/nightwatch/load-initial-dataset')
          .end()

    }

}

当我执行它时,浏览器被打开并且加载了URL,但是当加载结束时它不会关闭浏览器以开始下一个测试.

测试工作1个月前…我更新了夜视仪到nigthwatch最新版本(v0.9.8),下载了selenium-server-standalone-3.0.1.jar,chromedriver 2.25和Chrome 54.0.2840.87

我的Nigthwatch.js是

module.exports = {

src_folders: ['./tests'],
output_folder: './results',

selenium: {

    start_process: true,
    server_path: './selenium-server-standalone-3.0.1.jar',
    log_path: './results',
    host: '127.0.0.1',
    port: 4444,
    "cli_args" : {
        "webdriver.chrome.driver" : "./osx/chromedriver"
    }

},

test_settings: {

    default: {

        waitForConditionPollInterval: 1,
        selenium_host: '127.0.0.1',
        selenium_port: 4444,
        screenshots: {

            enabled: true,
            path: './results/screenshots'

        },
        desiredCapabilities: {

            browserName: 'chrome',
            javascriptEnabled: true,
            acceptSslCerts: true

        }

    }

}

};

我尝试启动此测试,我遇到了同样的问题:https://github.com/nightwatchjs/nightwatch/blob/master/examples/tests/google.js(浏览器在网址上保持打开状态,终端没有任何内容)

当我使用safari进行测试时,我没有特别的问题.

谢谢

最佳答案 从第一眼看,你的测试看起来并没有真正执行任何断言,因此实际上并没有“测试”任何东西.这可能会使测试运行员感到困惑.

我的另一个理论是waitForConditionPollInterval设置太低了. 1毫秒似乎有点矫枉过正.

这里有两件事要做:

>在测试中执行实际断言.例如,导航到页面后试试这个……

例:

module.exports = {
    'Set Initial Dataset' : function (browser) {
    browser
       .url('http://localhost/nightwatch/load-initial-dataset')
       .assert.title('Some Title')
       .end()
    }
}

>删除waitForConditionPollInterval设置,看看是否有帮助.如果确实如此,请尝试将其设置为更加理智,例如100毫秒,并检查测试是否仍然挂起.

点赞