Selenium:关于@FindBy在Page Object中的用法

有关内容,可参见:
http://www.seleniumeasy.com/selenium-tutorials/page-factory-pattern-in-selenium-webdriver

Selenium:关于@FindBy在Page Object中的用法_第1张图片

以下为网上内容:
共有三种方式:@FindBy @FindBys @FindAll

@FindBy

@FindBy(how = How.ID, using = "username") 
private WebElement userName;

也可以

@FindBy(id="username")
private WebElement userName;

@FindBys

@Findbys({
    @FindBy(className = "A"),
    @FindBy(className = "B")
})
public WebElement AB;

相当于:通过父节点再找子节点
@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到classname=B的所有元素

driver.findElement(FindByA>).findElement(FindByB>).

@FindAll

@FindAll({
    @FindBy(id = "A"),
    @FindBy(id = "B")
})
public List aAndB;

@FindAll相当于是取并集,如找到id=A和id=B的所有元素

通过注解方法,进一步对查找元素的方式进行替代,更简洁!此方式,待后续对之前代码进行整理!!未完待续~~~

你可能感兴趣的:(selenium,java)