gpt4 book ai didi

javascript - Protractor invisibilityOf flakiness,抛出 NoSuchElementError

转载 作者:行者123 更新时间:2023-11-28 00:18:53 27 4
gpt4 key购买 nike

我正在使用 Protractor 测试一个非 Angular 应用程序,其中我在测试中具有类似于以下内容的登录辅助函数:

function login() {
return waitUntilVisible($('#txtUsername'))
.then(function () {
$('#txtUsername').sendKeys('tom');
})
.then(function () {
$('#txtPassword').sendKeys('*');
})
.then(function () {
$('#btnLogin').click();
})
.then(function () {
// this is the flaky line
return browser.wait(protractor.ExpectedConditions.invisibilityOf($('#txtUsername')), 20000, 'Element never disappeared');
});
}

其中 browser.wait(protractor.ExpectedConditions.invisibilityOf($('#txtUsername')), 20000, 'Element never gone') 等待包含登录表单的 Bootstrap 模式关闭。然而,事实证明这条线非常不稳定,有时会失败:

NoSuchElementError: No element found using locator: By.cssSelector("#txtUsername")

或者甚至:

StaleElementReferenceError: stale element reference: element is not attached to the page document

我的第一个想法是模式在调用该行之前关闭,但是,invisibilityOf 的文档建议它应该处理不存在的元素,将其声明为:

An expectation for checking that an element is either invisible or not present on the DOM.

如何使这条线变得稳健?

最佳答案

invisibilityOf 切换到 stalenessOf 就成功了。

关于javascript - Protractor invisibilityOf flakiness,抛出 NoSuchElementError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209416/

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