Câu hỏi đơn giản như vậy. Trong Cypress, làm thế nào tôi có thể truy cập một cửa sổ mới mở ra khi chạy thử nghiệm.Truy cập cửa sổ mới - cypress.io
bước để tái tạo:
- Chạy thử nghiệm. Sau khi một số hành động, cửa sổ mới bật lên (url là động trong tự nhiên).
- Điền vào các trường trong cửa sổ mới và nhấp vào một vài nút.
- Sau khi các thao tác được yêu cầu hoàn tất trong Cửa sổ mới, hãy đóng cửa sổ mới và quay lại cửa sổ chính.
- Tiếp tục thực hiện với cửa sổ chính.
Điểm quan tâm: nên tập trung
main window -> new window -> main window
Tôi đã đọc vài điều có liên quan đến việc sử dụng iframe
và confirmation box
, nhưng ở đây không có nó trong những người. Liên quan đến việc truy cập một cửa sổ hoàn toàn mới. Một cái gì đó như Window Handlers
trong Selenium. Thật không may không thể tìm thấy bất cứ điều gì liên quan đến nó.
Hmmm. Đường vòng, nhưng tôi đoán. Một câu hỏi. Làm thế nào để tôi lấy URL từ nút bấm. Giả sử rằng url thay đổi mỗi khi tôi nhấp vào nó. –
Thay vì 'be.called', bạn có thể sử dụng xác nhận' be.calledWith' và xác nhận url. Tôi đã tạo một ví dụ đầy đủ về các bài kiểm tra làm việc tại đây: https://github.com/cypress-io/cypress-example-recipes/blob/master/examples/stubbing-spying__window/cypress/integration/window-stubbing.spec .js –
Um, giống như trong các trường hợp: Tôi không biết url của cửa sổ mới, làm cách nào tôi có thể nhận được địa chỉ động đó? Tôi nghĩ có thể có thuộc tính 'href' nếu nó có sẵn? Vì vậy, có một '.getattribute' chức năng cho kịch bản như vậy? –