硒注释“ @FindBy”在不返回任何元素时如何工作?

时间:2018-09-17 07:36:35

标签: selenium findby

如果@FindBy不返回任何元素,我们是否会收到错误消息,如我所见,@ FindBy可用于将0转换为多个元素。

场景: @FindBy(id =“ btn”) 私有WebElement searchButton; //允许引用单个元素

情况1:如果没有id为“ btn”的元素,那么结果是什么? 情况2:如果我们有多个id为“ btn”的元素,那么结果将是什么?

请澄清。

2 个答案:

答案 0 :(得分:0)

调用PageFactory.initElements时不会收到错误,未找到的元素将设置为null。但是,当您尝试使用该元素时,您会得到NullPointerException

答案 1 :(得分:0)

  

情况1:如果没有id为“ btn”的元素,那么结果是什么?

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"name","selector":"<invalid name>"}
  

情况2:如果我们有多个id为“ btn”的元素,那么结果将是什么?

由于我们有多个元素,由于模棱两可,我们无法执行任何操作。

org.openqa.selenium.WebDriverException: unknown error: cannot focus element