WebDriver等待n秒

isa*_*c9A 5 selenium webdriver node.js chai selenium-webdriver

我正在使用Sauce Labs(使用Selenium + Webdriver + Nodejs)编写一些功能测试.我的一个测试用例如下所示:

  it('Should Not Have Any Errors', function(done) {
        browser
            .get(host + '/test.live.cgi?view=pixelTest')
            .elementById('errorHolder')
            .text()
            .should.eventually.equal('[]')
            .nodeify(done);
   });
Run Code Online (Sandbox Code Playgroud)

如何在加载页面和检查errorHolder元素的文本之间等待10秒?我一直在扫描api https://github.com/admc/wd/blob/master/doc/api.md,但所有等待函数看起来都需要一个断言函数来测试给定条件是否为真.我正在尝试使用waitFor(opts, cb) -> cb(err)方法,但我不确定如何使用promises链接它.我可以这样做吗?

Bad*_*ash 13

await driver.sleep(n * 1000)
Run Code Online (Sandbox Code Playgroud)

上面的代码对我有用。确保此代码位于异步函数内。


isa*_*c9A 12

在webdriver提供的sleep函数中找到答案.现在代码看起来像这样:

it('Should Not Have Any Errors', function(done) {
        browser
            .get(host + '/test.live.cgi?view=pixelTest')
            .sleep(10000)
            .elementById('errorHolder')
            .text()
            .should.eventually.equal('[]')
            .nodeify(done);
  });
Run Code Online (Sandbox Code Playgroud)