我想编写一个测试以确保不显示元素(我在stackoverflow上阅读了答案,但不能解决我的问题。)
我尝试使用try and catch来做到这一点,但是问题是元素存在,它将转到catch并仍然通过测试。
try {
const element = await browser.driver.findElement(By.css(".element")).isDisplayed()
expect(element).not.toBe(ture)
} catch (e) {
expect(e).toBeTruthy()
}
答案 0 :(得分:1)
从Selenium文档中引用findElement
:
此功能不应用于测试元素是否存在 在页面上。相反,您应该使用#findElements:
使用此推荐的解决方案:
driver.findElements(By.css('.element'))
.then(found => console.log('Element found? %s', !!found.length));