teachingwebdrivervideo / serenity-pageobject-junit

0 stars 0 forks source link

Bài 17: Xây dựng model object/class #20

Open teachingwebdrivervideo opened 4 years ago

teachingwebdrivervideo commented 4 years ago

Object ( đối tượng) thường được mô phỏng hay biểu diễn dưới dạng một class thì được gọi là Model Object. Khái niệm này ko phải là thuật ngữ chính thức trong lập trình.

Model object ám chỉ tới việc viết một class để đại diện cho đối tượng dữ liệu và có thể được sử dụng để truyền dữ liệu qua lại giữa các đoạn code với nhau. Nó đóng gói truy cập trực tiếp vào dữ liệu trong đối tượng và đảm bảo tất cả dữ liệu trong đối tượng được truy cập thông qua các phương thức getter.

Ví dụ đây là hình ảnh của một form đăng nhập.

Hình minh hoạ: register

Thì coi form đăng nhập này là object. Vậy Model Object là viết một class để thể hiện cái form đăng nhập object này như thế nào.

Nhìn vào hình ảnh trên ta thấy Form đăng nhập này có 5 thông tin chính.

Tên form sẽ là tên class và các thông tin trên form sẽ tương ứng với cái thuộc tính trong class đó.

Ta sẽ có mẫu code sau

public class Account{
   private String fullName;
   private String email;
   private String password;
   private String rePassword;
   private String phone;

  // Bỏ qua các đoạn code liên quan tới setter, getter và hàm khởi tạo 
}

Để truyền dữ liệu

Account account = new 
        Account("Jacob Vu", "vuthelinh@gmail.com", "zaidep1@2" ,"zaidep1@2", "0984303104")

Để sử dụng sẽ thông qua getter

String fullname = account.getFullName(); // trả lại giá trị Jacob Vu
teachingwebdrivervideo commented 4 years ago

Override lại toString để trên report ghi ra thông tin cụ thể thay vì in địa chỉ của object trong bộ nhớ.

@Override
public String toString() {
    return "Account[Full name=" + fullname+ ", Email=" + email + ", Phone=" + phone+ "]";
}

Có thể in thêm thông tin password nếu muốn