Xem xét sử dụng một khung kiểm tra dựa trên từ khóa. Ý tưởng là, các nhà phát triển phát triển các từ khóa cấp cao (hoặc bạn sử dụng các từ khóa có trong thư viện) và người kiểm tra chỉ cần lắp ráp các từ khóa này thành các trường hợp kiểm tra cấp cao.
Các đội tôi đã tham gia trong vài năm qua đã nhận được rất nhiều dặm từ phương pháp này. Chúng tôi sử dụng khung robot nhưng có những thứ khác như dưa chuột (được hỗ trợ bởi một số ngôn ngữ) và specflow (triển khai dưa chuột cho .net)
Ví dụ: sử dụng phương pháp này, người thử nghiệm của bạn có thể viết một bài kiểm tra giống như thế này:
| Login with valid credentials
| | Go to page | LoginPage
| | Login as a normal user
| | The current page should be | DashboardPage
Các từ khóa này có thể được viết bằng python (hoặc java hoặc ngôn ngữ .NET), như vậy:
class LoginPage(PageObject):
def login_as_a_normal_user(self):
username = self.browser.find_element_by_id("username")
username.send_keys(DEFAULT_USER)
password = self.browser.find_element_by_id("password")
password.send_keys(DEFAULT_PASSWORD)
... and so on...
Có một thư viện được tạo sẵn cho robot với các từ khóa chung dựa trên selenium ("đi đến trang", "trang nên chứa", "nút bấm", v.v.) mà người kiểm tra có thể ngay lập tức làm việc hiệu quả.
Thông thường các từ khóa chung này là đủ, nhưng sử dụng khái niệm về các đối tượng trang và từ khóa dành riêng cho trang là cách mạnh mẽ để viết bài kiểm tra. Các nhà phát triển của bạn có thể tạo một lớp cho mỗi trang trong ứng dụng của bạn và cho mỗi trang họ có thể viết các từ khóa có mục đích đặc biệt để người kiểm tra có thể tập trung nhiều hơn vào chức năng logic của trang thay vì triển khai thực tế.
Dưới đây là một vài bài đăng trên blog tôi đã viết mà đi sâu vào chi tiết hơn trong việc sử dụng các đối tượng trang với khung robot: