2012-08-06 44 views
5

Tôi đang trong quá trình di chuyển một số tập lệnh Watir cũ của mình sang Watir-Webdriver. Việc di chuyển đã đi chủ yếu là tốt, ngoại trừ cách họ thiết kế Watir-Webdriver để xử lý các cửa sổ bật lên. Thay vì sử dụng phương pháp 'Đính kèm' đã cố gắng và đúng sự thật, họ đã thay thế nó bằng phương pháp 'Cửa sổ' đã được đơn giản hóa. Cú pháp khá đơn giản, tuy nhiên tôi gặp khó khăn trong việc hiểu cách đóng một cửa sổ con riêng biệt mà không đóng cửa sổ cha. Mã hiện tại của tôi giống như thế này -Watir Webdriver cách đóng cửa sổ con

b.button(:xpath => PREVIEWBUTTON).click 
    b.window(:title, POPUPWINDOW).use DO 
    b.close 
    end 

Hiện tại điều đang xảy ra là phương pháp b.close đóng cả cửa sổ con và cửa sổ chính. Tôi không chắc tại sao điều này xảy ra vì phương thức b.close được chứa trong khối DO. Tôi cần phải xác minh rằng 'PREVIEWBUTTON' thực sự tạo ra một cửa sổ con, nhưng tôi cần cửa sổ chính để mở.

Trả lời

9

Hãy thử điều này:

b.window(:title, POPUPWINDOW).close 
+1

Tuyệt vời, điều này làm việc! Tôi cũng học được rằng trong trường hợp của tôi, nó là thuận lợi hơn nhiều để tìm cửa sổ con bằng cách sử dụng 'chỉ số' như được liệt kê ở đây - https://github.com/watir/watirspec/blob/master/window_switching_spec.rb. Cảm ơn một lần nữa! – Brian

+0

Có cách nào khác để tìm các cửa sổ con, thậm chí có thể lặp lại chúng không? – stack1

Các vấn đề liên quan