1. 程式人生 > >Selenium:關於@FindBy在Page Object中的用法

Selenium:關於@FindBy在Page Object中的用法

這裡寫圖片描述

以下為網上內容:
共有三種方式:@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的所有元素

通過註解方法,進一步對查詢元素的方式進行替代,更簡潔!此方式,待後續對之前程式碼進行整理!!未完待續~~~