Come faccio a testare le finestre di dialogo modale con selenio?
-
22-08-2019 - |
Domanda
mi sto iniziato con Selenio IDE e cercando di testare una webapp che è pieno di finestre di dialogo modali (window.showModalDialog
) .
Registrazione del test sembra funzionare (tranne che non c'è niente nel registro quando la finestra viene mostrata), ma non vengono riprodotti correttamente. Lo script si apre in realtà la finestra (innescato da un pulsante di scatto), ma poi basta aspetta indefinitamente.
Qualche suggerimento?
Soluzione
Da Selenio FAQ , selenio a quanto pare funziona con alcuni tipi di finestre di dialogo, ma non altri:
Non riesco a interagire con una finestra pop-up. La mia prova si ferma nella sua tracce!
È possibile, ma solo se la finestra è un avviso o la conferma di dialogo. Altro le finestre di dialogo speciali non possono essere revocati dal JavaScript, e quindi attualmente non può essere interagito con. Questi includono il "Salva file", "Ricorda questa password" (Firefox), e le finestre di dialogo modali (IE). Quando appaiono, selenio può solo strizzare le mani per la disperazione.
Per risolvere questo problema, è possibile utilizzare un soluzione (se presente); altrimenti potrebbe essere necessario escludere il test dal il vostro corpus automatizzato. Per il "Salva File" finestra di dialogo in Firefox, un costume modello può essere specificato durante l'esecuzione attraverso il RC che sarà sempre causare la file da scaricare per un determinato posizione, senza chiedere conferma all'utente (vedere http://forums.openqa.org/thread.jspa?messageID=31350). La finestra di dialogo "Ricorda questa password" non dovrebbe apparire di nuovo dopo che hai scelto di ricordarlo. attualmente non ci non è molto che può essere fatto su IE le finestre di dialogo modali.
Mi sembra di ricordare qualcuno che lavora intorno a questo con una AutoHotKey script che ha respinto la finestra di dialogo.
Altri suggerimenti
Sono stato con Selenio IDE per testare modali jQuery per un certo momento, non ho mai affrontato alcun problema. Qui ci sono le cose che faccio per assicurare che il test viene eseguito correttamente su riproduzione:
- eseguire lo script alla velocità più bassa possibile
- quando si apre il modale, io uso il comando waitForElementPresent per verificare la presenza di almeno uno degli elementi costitutivi nella pagina; argomentazione essere, se uno carichi elemento correttamente, è lecito ritenere che tutti gli elementi e quindi la finestra modale caricati correttamente.
Spero che questo aiuti. Se si desidera un ulteriore aiuto, è possibile condividere il codice con me alongwith l'errore di esecuzione che IDE butta fuori a voi.
finestra modale violato :) http://seleniumdeal.blogspot.com/2009/ 01 / movimentazione-modal-window-con-selenium.html
Questo è come gestire pop-up di avviso nella Selenio IDE
tasto destro del mouse sull'elemento (in questo caso il vostro finestra pop-up) ci sono alcuni comandi è possibile scegliere. C'è anche uno spettacolo di tutti i comandi disponibili whiche potrebbero essere un aiuto. Si dovrebbe usare AssertElementPreset e credo che il migliore indicatore di posizione in questo caso è CSS. Così si può scegliere AssertElementPresent.
o
è possibile utilizzare due comandi su Selenio IDE
selectWindow | null
verifyElementPresent | css=div.content
Spero che questo aiuti!