Alert với Selenium Webdriver
Ta có thể phân loại một số popup như sau:
1. Alert bình thường
Alert này cung cấp một thông tin nào đó cho người dùng biết, người dùng sau khi đọc thông tin được cung cấp thường sẽ nhấn OK để xác nhận thông tin, khi đó alert sẽ đóng lại:
2. Alert Prompt
Một loại confirm mà yêu cầu người dùng input một thông tin nào đó, và có thêm button là sau khi đã nhập thông tin vào alert có thể nhấn OK hoặc Cancel để đóng popup:
3. Alert confirmation
Đơn giản hơn loại thứ hai và gần giống loại đầu tiên, khác cái là nó có hai lựa chọn, :v nên ta có thể chọn một trong hai lựa chọn này là OK hoặc Cancel và không phải input thêm thông tin nào:
4. Other alert
Loại thứ 4 này thì ít gặp hơn, loại này kiểu như hiện lên 1 alert, khi click vào một button nào đó trong alert sẽ lại tiếp tục hiển thị thêm 1 alert khác đè lên trên alert đã hiển thị trước đó. Sau đấy việc của ta là nhấn xác nhận cho alert thứ hai và rồi lại quay lại cái alert đầu tiên để xử lý.
Selenium webdriver có cung cấp method .switchTo() để hỗ trợ chúng ta có thể dễ dàng switch từ màn hình chính của ứng dụng sang cái Alert để thực hiện thao tác trong alert đó. Bên cạnh đó, ta cũng được cung cấp một số method trong Selenium webdriver sử dụng để làm việc với alert như:
1. dissmiss() – Để thực hiện click vào button Cancel trong alert
2. accept() – Để thực hiện click OK, hoặc có trường hợp là DONE hay YES cũng đều dùng được.
3. getText() – Để lấy ra nội dung message trong alert
4. sendKey(String text) – Để truyền dữ liệu vào arlert
Trên đây là một vài nội dung cơ bản bạn cần nắm được khi làm việc với alert. Phần tiếp theo mình sẽ thực hiện xây dựng một kịch bản test cho một alert để các bạn có thể hình dung cụ thể hơn về việc selenium xử lý như thế nào nhé!
Ta có kịch bản test như sau:
1. Open browser và truy cập vào trang http://demo.guru99.com/selenium/delete_customer.php
2. Click vào 1 button, trang web hiển thị một alert
3. Click close hoặc OK để đóng alert
Run code: