tranvanhumg / web-auto-basic

web-auto-basic
0 stars 0 forks source link

Bài 04 - Hướng dẫn Tạo Class dùng chung #4

Open thienphuong opened 5 years ago

thienphuong commented 5 years ago

Ta thấy rằng trong features có 3 classes.

Cả 3 đều có chung một những phần code giống nhau trong phần @Before@After

Tiến hành move những phần code giống nhau này vào một class để kế thừa giúp cho code gọn hơn

Kết qua mong đợi sẽ có một class tên PageObject có mã như sau

public class PageObject {
    private WebDriver chromeDriver;

    @Before
    public void tearUp() {
        System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe");
        chromeDriver = new ChromeDriver();
        chromeDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        chromeDriver.manage().window().maximize();
    }

    @After
    public void tearDown() {
        chromeDriver.quit();
    }

       public WebDriver getDriver(){
                 return chromeDriver;
       }
thienphuong commented 5 years ago

Làm sao để sử dụng PageObject. Đơn giản chỉ cần kế thừa class này là xong.

Đây là ví dụ mẫu

public class CheckWebPageTitleTest  extends PageObject{

    @Test
    public void testTitleEquals() {

        // open a web page
        getDriver().get("https://duckduckgo.com/");

Thay hết chromeDriver bằng việc dùng getDriver()

Do được kế thừa nên ở các classes con ( lớp viết test) không cần phải viết lại phần @Before hay @After nữa.