Jacobvu84 / selenium-vietnam-training-course

Questions Tracking
7 stars 5 forks source link

Review code #9

Closed truyenkv closed 6 years ago

truyenkv commented 6 years ago

https://github.com/truyenkv/goodJob nhờ anh review code giúp e

Jacobvu84 commented 6 years ago

Sử dung giá trị của id hoặc name như là một đối tượng của WebElement. ví dụ:

@FindBy(id="formControlsFirstName")
WebElement firstNameTxt;

 public void clear_First_Name() {
  firstNameTxt.clear();
 }
 public void input_First_Name(String fistNa) {
  firstNameTxt.sendKeys(fistNa);
}

=========================== Chúng ta viết gon lại là

WebElementFacade firstNameTxt

 public void input_First_Name(String fistNa) {
  typeInto(firstNameTxt, fistNa);
}

hoặc firstNameTxt.type(fistNa)

$(firstNameTxt).type(fistNa)

Hàm type trước khi nó enter value vào nó sẽ tự động empty cái filed trước. Nên không cần viết hàm clear()

Jacobvu84 commented 6 years ago

Làm việc với lệnh đối tượng của Action

Actions action = new Actions(getDriver());
action.moveToElement(userProfile).click().perform();

Thì có thể viết gọn lại là withAction().moveToElement(userProfile).click().perform();

Jacobvu84 commented 6 years ago

Tên của một class thì nên bắt đầu bằng chữ HOA Thay vì tên class là homePage hay loginPage thì nên đặt là HomePageLoginPage

Tên của package thì nên dùng toàn bộ chữ thường. Thay vì goodJob.pages thì nên là goodjob.pages

Jacobvu84 commented 6 years ago
public void click_On_User() {
        WebDriverWait wait = new WebDriverWait(getDriver(), 10000);
        wait.until(ExpectedConditions.visibilityOf(logo));
        userIcon.click();
}

nên là

public void click_On_User() {
        logo.waitUntilVisible();
        userIcon.click();
}