gpt4 book ai didi

javascript - Protractor - Jasmine 。仅当存在特定元素时才执行某些操作。

转载 作者:行者123 更新时间:2023-11-28 20:36:13 25 4
gpt4 key购买 nike

我有一个带有“添加”和“关闭”两个按钮的窗口框。我需要测试以下场景:当单击“添加”按钮时,它会抛出错误并且窗口保持打开状态。我需要单击“关闭”按钮才能继续。

我使用了下面的代码:

if(element(by.xpath("xpath_of_error_box")).isEnabled()) 
{
element(by.xpath("xpath_of_close_button")).click();
}

但它抛出以下错误:

No element found using locator: By(xpath, xpath_of_error_box)

有什么办法可以解决这个问题吗?

最佳答案

根据错误,您的 xpath 定位器似乎没有匹配任何元素。根据问题中的附加说明,您可以尝试:

element(by.xpath("xpath_of_error_box")).isDisplayed().then(isDisplayed => {
if (isDisplayed) {
// do what you need when it is visible
} else {
// if not then proceed
}
});

如前所述,在这种情况下,isEnabled 可能不是您应该使用的正确方法。如果您尝试查找的元素似乎始终存在于 dom 中,您最好尝试使用 isDisplay 检查其可见性。一个建议。在测试中使用 xpath 定位器不是一个好主意,因为这会将它们与您正在观察的网页的 html DOM 结构联系起来。正如我们所知,UI 恰好经常更改,这也会使您的测试经常中断。虽然这当然是个人偏好,但在对 html 进行一个小的更改后,您最终会进行大量的 broken 测试。

关于javascript - Protractor - Jasmine 。仅当存在特定元素时才执行某些操作。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53501090/

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