gpt4 book ai didi

javascript - 使用 selenium-webdriver 包为 Node 的 WebDriverJS 编写 e2e 测试

转载 作者:行者123 更新时间:2023-11-28 08:10:59 25 4
gpt4 key购买 nike

我正在致力于将测试从 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);

标题包含主页的标题,而不是搜索结果页的标题

谢谢

最佳答案

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

关于javascript - 使用 selenium-webdriver 包为 Node 的 WebDriverJS 编写 e2e 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24213475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com