PDF Google Drive Downloader v1.1


Báo lỗi sự cố

Nội dung text [Framework] Page Factory and Page Generator Manager


DAO MINH DAM Email: [email protected] Skype: daominhdam (Đào Minh Đảm) https://automationfc.vn - https://automationfc.com Tài liệu này chỉ sử dụng trong khóa học - vui lòng không chia sẻ công khai ------------------------------------------------------------------------------------------------------------------------------- @FindBy(how = How.XPATH, using = "//form[@name='frmLogin']") private WebElement loginForm; @FindBy(how = How.NAME, using = "uid") // @FindBy(name = "uid") private WebElement userIDTextbox; @FindBy(how = How.CSS, using = "input[name='btnLogin']") // @FindBy(css = "input[name='btnLogin']") private List loginButton; ○ FindBys - Sử dụng để locate 1 hoặc nhiều element thỏa mãn nhiều điều kiện (AND) - 1 trong 2 sai là ko tìm thấy @FindBys({ @FindBy(how = How.NAME, using = "uid"), @FindBy(how = How.NAME, using = "password") }) private List bothCriteria; ○ FindAll - Sử dụng để locate 1 hoặc nhiều element thỏa mãn nhiều điều kiện (OR) - 1 trong 2 đúng là tìm thấy @FindAll({ @FindBy(how = How.NAME, using = "uid"), @FindBy(how = How.NAME, using = "password") }) private List eitherCriterion; ● PageFactory.initElements(driver, this); ○ Khi khởi tạo - các WebElement sẽ chưa findElement. Khởi tạo chỉ để tạo ra sự kết nối giữa element và locator (FindBy). Khi nào WebElement đó được sử dụng (gọi - call) thì mới được tìm kiếm dựa trên các loại WebElement đã được khai báo ở trên ○ Nếu WebElement đó được sử dụng nhiều lần trên 1 page thì nó được tìm kiếm nhiều lần. Nếu muốn chỉ tìm 1 lần rồi sử dụng lại - sử dụng annotation @CacheLookup (tăng perfomance)
DAO MINH DAM Email: [email protected] Skype: daominhdam (Đào Minh Đảm) https://automationfc.vn - https://automationfc.com Tài liệu này chỉ sử dụng trong khóa học - vui lòng không chia sẻ công khai ------------------------------------------------------------------------------------------------------------------------------- ● CacheLookup ○ Cho phép element chỉ được lookup 1 lần duy nhất (được cache lại - chỉ sử dụng trong trường hợp element luôn cố định trên page - ko nên sử dụng khi DOM change/ page refresh/ element refresh/ update status) ● How ○ CLASS_NAME ○ CSS ○ ID ○ ID_OR_NAME ○ LINK_TEXT ○ NAME ○ PARTIAL_LINK_TEXT ○ TAG_NAME ○ XPATH ● PageFactory (Viết lại testcase register/ login theo dạng PageFactory của Selenium) ○ LoginPageFactory package bankguru.pageFactory; import java.util.List; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.How; import org.openqa.selenium.support.PageFactory; import commons.AbstractPage; public class LoginPageFactory extends AbstractPage { private WebDriver driver; @FindBy(how = How.XPATH, using = "//form[@name='frmLogin']") private WebElement loginForm; @FindBy(how = How.NAME, using = "uid") private WebElement userIDTextbox;
DAO MINH DAM Email: [email protected] Skype: daominhdam (Đào Minh Đảm) https://automationfc.vn - https://automationfc.com Tài liệu này chỉ sử dụng trong khóa học - vui lòng không chia sẻ công khai ------------------------------------------------------------------------------------------------------------------------------- @FindBy(how = How.NAME, using = "password") private WebElement passwordTextbox; @FindBy(css = "input[name='btnLogin']") private List loginButton; @FindBy(how = How.XPATH, using = "//a[text()='here']") private WebElement hereLink; @FindBy(how = How.NAME, using = "emailid") private WebElement emailIDTextbox; public LoginPageFactory(WebDriver mappingDriver) { driver = mappingDriver; PageFactory.initElements(driver, this); } public boolean isLoginFormDisplayed() { return loginForm.isDisplayed(); } public String getLoginPageUrl() { return getCurrentPageUrl(driver); } public void clickToHereLink() { hereLink.click(); } public void inputToUserIDTextbox(String userIdInfor) { userIDTextbox.sendKeys(userIdInfor); } public void inputToPasswordTextbox(String passwordInfor) { passwordTextbox.sendKeys(passwordInfor); } public void clickToLoginButton() { loginButton.get(0).click(); } } ○ RegisterPageFactory

Tài liệu liên quan

x
Báo cáo lỗi download
Nội dung báo cáo



Chất lượng file Download bị lỗi:
Họ tên:
Email:
Bình luận
Trong quá trình tải gặp lỗi, sự cố,.. hoặc có thắc mắc gì vui lòng để lại bình luận dưới đây. Xin cảm ơn.