[Bài 10] Ý nghĩa của class base

Khi Duplicate code trong 1 class thì ta viết 1 function để dùng chung. Thế khi duplicate code ở 2 class khác nhau thì làm thế nào? Có 1 cách xử lý đó là viết 1 Class dùng dung.

Ở trong Java cũng như các ngôn ngữ lập trình hướng đối tượng khác, đều có khái niệm Class cha – con (superclass và subclass). Nó thể hiện tính thừa kế trong ngôn ngữ hướng đối tượng. Nếu bạn chưa biết thì nên đọc lại Java basic trước khi đọc tiếp.

Quay trở lại bài toán hiện tại, chúng ta cần viết thêm 1 Class test chức năng “tạo bài viết mới” với rất nhiều test case khác. Bên cạnh đó, class LoginTest và class AddNewPostTest có chung BeforeMethod và AfterMethod. Vậy thì ta có thể viết 1 classe BaseTest là class cha và để 2 Class kia kế thừa từ đó.

Class BaseTest như sau:

Bên cạnh việc tách 2 Method thì mình còn sửa lại 1 chút.

Class LoginTest sẽ phải thừa kế từ Class BaseTest thông qua keyword là extends.

NOTE: Class con sẽ được kế thừa toàn bộ các thuộc tính của class cha. Do đó ở class con sẽ không cần phải khai báo WebDriver driver nữa.

Class test của chúng ta ngày càng ngắn nhỉ. =)))) Thực ra là nó chia nhỏ thành nhiều Class khác nhau mà thôi. Dù thế nào đi chăng nữa, thì có vẻ nó cũng đang khá chuyên nghiệp. 😀

Vậy là 4 vấn đề ở bài trước, ta đã xử lý được thằng đầu tiên. Có vẻ bài hơi ngắn, xử lý thêm 1 vấn đề nữa nhé. ^^


  • Khi test manual thì mỗi lần test đâu có cần đóng browser rồi mở lại đâu nhỉ?

—> Không nên làm điều này với automation vì thực ra các case đúng nên phải re-new cái session. Mình làm chồng các test case sẽ có thể bị ảnh hưởng bởi trạng thái của các test case trước, dẫn đến việc kết quả sẽ có thể bị sai. Với lại việc sử dụng script làm giảm thời gian test rồi nên nó vẫn đáp ứng được yêu cầu về mặt thời gian test như manual.


Thế là chỉ còn 2 vấn đề nữa thôi nhỉ. Yeah. Những bài tiếp theo, mình vừa tạo thêm test case mới và vừa xử lý thêm các vấn đề khác. See you there! Thank you.

[Bài 11] WebDriver script đơn giản thứ hai

3 thoughts on “[Bài 10] Ý nghĩa của class base

  1. Pingback: [Bài 9] Hoàn chỉnh test script login – Xử lý duplicate code | GiangTester Blog

  2. Pingback: [Bài 11] WebDriver script đơn giản thứ hai | GiangTester Blog

  3. Pingback: [Bài 20] Tạo liên kết giữa các pages và xây dựng Navigation | GiangTester Blog

Leave a Reply

Your email address will not be published. Required fields are marked *