2012-08-06 11 views
5

Sto migrando alcuni dei nostri script Watir precedenti su Watir-Webdriver. La migrazione è andata per lo più bene, tranne per come hanno progettato Watir-Webdriver per gestire le finestre popup. Piuttosto che usare il metodo "Allega" provato e vero, lo hanno sostituito con un metodo "Finestra" semplificato. La sintassi è abbastanza semplice, tuttavia ho difficoltà a capire come chiudere una finestra figlio separata senza chiudere la finestra genitore. Attualmente il mio codice è qualcosa di simile -Watir Webdriver come chiudere le finestre secondarie

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

Attualmente ciò che sta accadendo è che il metodo b.close sta chiudendo sia la finestra bambino e finestra padre. Non sono sicuro del motivo per cui ciò accade poiché il metodo b.close è contenuto nel blocco DO. Devo verificare che "PREVIEWBUTTON" crei effettivamente una finestra secondaria, ma ho bisogno che la finestra principale rimanga aperta.

risposta

9

Prova questa:

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

Eccellente, questo ha funzionato! Ho anche appreso che, nel mio caso, è molto più vantaggioso trovare la finestra secondaria usando "indice" come elencato qui - https://github.com/watir/watirspec/blob/master/window_switching_spec.rb. Grazie ancora! – Brian

+0

C'è qualche altro modo per trovare finestre secondarie, magari anche iterare su di esse? – stack1

Problemi correlati