NỘI DUNG BÀI HỌC
Alert (cảnh báo) trong Selenium là gì?
Một Alert trong Selenium là một hộp thông báo nhỏ xuất hiện trên màn hình để cung cấp cho người dùng một số thông tin hoặc cảnh báo. Nó thông báo cho người dùng một số thông tin hoặc lỗi cụ thể, yêu cầu quyền để thực hiện các tác vụ nhất định và nó cũng cung cấp các thông báo cảnh báo.
Dưới đây là một số loại cảnh báo:
1) Cảnh báo đơn giản
Lớp cảnh báo đơn giản trong Selenium hiển thị một số thông tin hoặc cảnh báo trên màn hình. Sau đó nhấn Ok là xong.
2) Cảnh báo nhắc nhở
Thông báo nhắc nhở này yêu cầu một số đầu vào từ người dùng và trình duyệt web Selenium có thể nhập văn bản bằng cách sử dụng các phím gửi ("Yes/No").
3) Cảnh báo xác nhận
Cảnh báo xác nhận này yêu cầu chọn một trong hai hành động chính là xác nhận hoặc huỷ bỏ.
Cách xử lý Alert trong Selenium Java
Chèn thư viện cái:
Các hàm xử lý:
1) void dismiss() // Để nhấp vào nút 'Cancel' của cảnh báo.
2) void accept() // Để nhấp vào nút 'OK' của cảnh báo.
3) String getText
() // Để get text trên alert.
4) void sendKeys(String text)
// Để nhập dữ liệu vào ô input text trên alert.
Bắt đầu nào
Bước 1) Vào website http://demo.seleniumeasy.com/javascript-alert-box-demo.html
Bước 2) Click button "Click me!" đầu tiên
Bước 3) Sau đó có một Alert hiện lên và chúng ta nhấn nút Ok
Chạy code thực hành luôn cho nóng:
Demo nhấn vào nút Cancel thì các bạn click nút "Click me!" thứ 2 nó sẽ xuất hiện
Ví dụ dùng sendKeys thì chúng ta click vào nút thứ 3 nó sẽ xuất hiện sau đó điền text vào
Ví dụ xử lý Alert có input khác:
Cách xử lý Popup Window trong Selenium Java
Popup window là cái gì ??
Các phương thức hỗ trợ xử lý Popup Window:
- get.windowhandle (): Phương thức này giúp lấy cửa sổ điều khiển của cửa sổ hiện tại
- get.windowhandles (): Phương thức này giúp lấy các xử lý của tất cả các cửa sổ đã mở
- set: Phương thức này giúp thiết lập các chốt cửa sổ dưới dạng một chuỗi. set <string> set = driver.get.windowhandles ()
- switchTo: Phương pháp này giúp chuyển đổi giữa các cửa sổ
- action: Phương pháp này giúp thực hiện các hành động nhất định trên cửa sổ
(getTitle, getCurrentUrl, get,...)
Sau đây là demo sử dụng một số phương pháp để xử lý nhiều cửa sổ Window trong Selenium
Code bình thường chưa chuyển sang Window mới:
Nó sẽ báo là không tìm thấy Element heading 😝
Code chuyển sang Tab Window mới:
Nói thêm về Set chút
Ví dụ có: Set<String> setA = driver.getWindowHandles();
Duyệt Set với bộ lặp Iterator:
Duyệt Set với vòng lặp for-each:
Cách xử lý iFrames trong Selenium Java
iFrame là gì?
iFrame là một trang web hoặc một khung nội tuyến được nhúng trong một trang web khác hoặc một tài liệu HTML được nhúng bên trong một tài liệu HTML khác. Khung nội tuyến thường được sử dụng để thêm nội dung từ các nguồn khác như quảng cáo vào một trang web.
Khung nội tuyến được xác định bằng thẻ <
iframe>
Cách xác định iframe trên trang
Nếu dùng Chrome thì right click vào cái Messenger trang Anh Tester menu Contact sẽ thấy như hình
Hoặc dạng quảng cáo chèn vào các trang báo
Chúng ta có thể xác định tổng số iframe bằng cách sử dụng đoạn mã sau:
Cách chuyển đến iFrame cụ thể
Chuyển sang khung theo Chỉ mục (thứ tự):
Giả sử nếu có 100 khung trong trang, chúng ta có thể chuyển sang khung trong Selenium bằng cách sử dụng chỉ mục.
Chuyển sang khung theo Tên hoặc ID:
Tên và ID là các thuộc tính để xử lý các khung trong Selenium mà qua đó chúng ta có thể chuyển sang iframe.
Chiến nào code code code