繁体   English   中英

使用selenium-webdriver包的WebDriverJS for node编写e2e测试

[英]Writing e2e tests using the selenium-webdriver package for WebDriverJS for node

我正在尝试将测试从webdriver和java移植到webdriverjs,我想知道是否有人可以帮助我理解为什么这样做:

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
  return driver.getTitle().then(function(title) {
    return assert.equal(title, 'webdriver - Google Search');
  });
}, 2000);

标题正确包含“ webdriver-Google搜索”

这失败了:

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
  driver.getTitle().then(function(title) {
    assert.equal(title, 'webdriver - Google Search');
  });
}, 2000);

title包含首页的标题,而不是搜索结果页面的标题

谢谢

wait方法要求函数返回布尔值或解析为布尔值的promise才能正常工作。 在您的第一个示例中,返回断言(它是一个布尔值),然后使then调用一个promise,解析为一个布尔值(您将返回到等待状态),因此wait可以正常工作。 在第二个示例中,您的函数不返回等待被视为立即成功解决的任何内容,换句话说,它根本不等待。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM