2012-03-21 18 views
5

Sto usando il plug-in Selenio IDE per creare alcuni casi di test. Faccio clic sul pulsante Registra per registrare i passaggi. Quando ho finito, interrompo la registrazione e vorrei eseguire i test case per vedere come vanno le cose. In questo particolare elemento in una tabella HTML, Selenium identifica come id=my_id_1 nel processo di registrazione; quando eseguo il test case, direi che l'elemento id=my_id_1 non è stato trovato.Elemento selenio Non trovato anche se il selenio popola l'id

Come può non essere trovato quando l'ID viene rilevato all'interno di Selenium IDE? Come posso aggirare questo problema? Ho provato a utilizzare anche //tr[4]/td[3]/a. Usando questo approccio (e usando anche l'ID), quando faccio clic sul pulsante Trova nell'IDE, l'elemento corrispondente nella pagina Web sarà evidenziato in giallo. Tuttavia, il test case fallirebbe dicendo che l'elemento non può trovare trovato.

Grazie in anticipo, Monte

+0

Ti sei assicurato che il comando non venga eseguito prima che la tabella venga effettivamente caricata nella pagina? –

risposta

7

Provare una pausa prima del comando problema per verificare se non è stato caricato completamente prima che Selenium tenti di trovare l'elemento. Se ciò risolve il problema, puoi sostituire la pausa con una condizione di attesa più robusta.

+0

Grazie mille. Ho fatto un ClickAndWait nel comando prima di quello in questione e questo ha fatto il trucco. –

+1

+1, ho avuto lo stesso problema e l'aggiunta di una pausa ha risolto il problema per me. – Tim

0

ci può essere il caso che si viene reindirizzati alla pagina diversa prima dell'esecuzione di tale comando, in modo che si stanno ottenendo elemento non trovato errore, si può mettere pausa prima esecuzione del comando, o se questo non è un caso, provare ad individuare l'elemento per nome, valore o Xpath anziché ID

-1

eseguire il test in modalità lenta di IDE.

0

Può essere che si stia creando un nuovo ID ogni volta. Quindi quello che puoi fare è dare un'espressione regolare come quella che ho usato sotto.

//form[@id='adminLogin']/div/div[4]/input 

Provalo. Questo ha funzionato per me.