Lập trình hướng đối tượng là một trong những kỹ thuật quan trọng. Trong bài viết chúng ta cùng đi tìm hiểu về OOP trong Automation Test được áp dựng như thế nào? Bài viết hướng tới các bạn đã biết cơ bản về concept của OOP trong lập trình và muốn tìm hiểu thêm với Automation Test.
OOP là gì?
OOP là viết tắt của từ Object Oriented Programming. Hay dịch ra tiếng Việt là lập trình hướng đối tượng.
Lập trình hướng đối tượng (OOP) là một kỹ thuật lập trình quan trọng. Là kỹ thuật được các lập trình viên sử dụng phổ biến hiện nay. Có thể áp dụng được trong nhiều ngôn ngữ lập trình, điển hình như Java.
Giải thích một cách đơn giản, lập trình hướng đối tượng là một kỹ thuật đưa những đối tượng ngoài cuộc sống vào trong lập trình.
Ví dụ: Hãy coi chiếc xe ô tô là một đối tượng (object). Đối tượng ô tô này có thuộc tính (attribute) và phương thức (method)
- Thuộc tính là những tính chất, đặc điểm của đối tượng. Xe ô tô có màu đỏ, là loại xe điện,…
- Phương thức là những thao tác, hành động của đối tượng. Xe ô tô có thể tăng tốc, giảm tốc độ, dừng xe, sử dụng còi xe khi cần,…
OOP với Automation Test
Lập trình hướng đối tượng (OOP) có 4 tính chất cơ bản. Cùng tìm hiểu các tính chất này được áp dụng vào Automation Test như thế nào nhé!
1. Tính bao đóng (Encapsulation)
Tính bao đóng được định nghĩa là gói những phần dữ liệu vào từng đơn vị. Giải thích đơn giản là gói những phần chung vào một đơn vị sau đó khi nào cần sử dụng sẽ gọi đến phần đơn vị đó.
Với tính bao đóng, các biến sẽ được khai báo là private và các sẽ được sử dụng qua các method khai báo public để get hoặc set giá trị.
Với Automation Test, tất cả các lớp trong framework đều được bao đóng.
2. Tính kế thừa (Inheritance)
Giống như tên gọi, tính kế thừa trong lập trình hướng đối tượng là phương pháp kế thừa của lớp cha và lớp con. Lớp con có thể kế thừa các method đã có ở lớp cha mà không cần phải viết lại. Lớp con kế thừa từ lớp cha thông qua keywork extend
3. Tính đa hình (Polymorphism)
Có 2 loại đa hình trong Java:
- Phương thức overloading
- Phương thức overriding
Nhờ tính chất đa hình cho phép chúng ta có thể thực hiện task (các công việc) theo nhiều cách khác nhau. Hãy cùng tìm hiểu theo ví dụ dưới đây:
Method Overloading: 1 class có nhiều method cùng tên nhưng khác parameter (biến truyền vào method
Trong quá trình compile, JVM (Java Virtual Machine) sẽ biết method nào được gọi tới bằng cách verify những đặc điểm của mathod.
Ví dụ: Trong Automation Test chúng ta có cách kiểu đợi. Cùng là method đợi có thể dùng với Seconds, minutes và hours,…
Method overriding: Khai báo 1 method ở lớp con đã tồn tại ở lớp cha => Method Overriding Overriding
Giải thích đơn giản: overriding có nghĩa là ghi đè một method đã có.
4. Tính trừu tượng (Abstraction)
Trong lập trình hướng đối tượng. Tính trừ tượng là một phương pháp đưa những phần thực thi chi tiết và chỉ hiển thị chức năng của nó cho user.
Trong Automation Test, chúng ta có thể sử dụng một số các locator như xác định bằng id, name, xpath… Những phần code thực thi làm sao để tìm được bằng id, name, xpath đã được trong phần code của thư viện. Điều này giúp developer code dễ dàng hơn, giúp code không quá dài và phức tạp.
Trong ví dụ: Chúng ta chỉ cần gọi …located(By.name(“q”)); để locate phần tử bằng name