检查WebDriverJS中是否未显示元素

时间:2019-07-03 22:57:13

标签: javascript selenium selenium-webdriver jestjs

我想编写一个测试以确保不显示元素(我在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()
}

1 个答案:

答案 0 :(得分:1)

从Selenium文档中引用findElement

  

此功能不应用于测试元素是否存在   在页面上。相反,您应该使用#findElements

使用此推荐的解决方案:

driver.findElements(By.css('.element'))
     .then(found => console.log('Element found? %s', !!found.length));