2010-09-13 15 views
8

Uno script di test registrato include una ricerca su google.click/clickAndWait non funziona

Dopo aver cliccato su "Cerca con Google", l'azione successiva è stato quello di cliccare su un link nei risultati del test, tuttavia durante la riproduzione questo accade prima che il browser ha caricato i risultati, per cui la soluzione sembrava essere quella di aggiungere un ritardo dopo la ricerca. Ho provato due modi:

  • cambiando "click" a "clickAndWait" con un valore di 1000. Questo funziona, male. Il valore di 1000 non cambia il valore predefinito di 30000 ms e la riproduzione impiega 30 secondi per completare il passo.

  • chiamare "setTimeout" prima del clic con un valore di 1000. Ciò non ha alcun effetto sul comportamento di timeout di clickAndWait.

Ecco lo script:

<tr> 
     <td>open</td> 
     <td>/</td> 
     <td></td> 
</tr> 
<tr> 
     <td>type</td> 
     <td>q</td> 
     <td>test search</td> 
</tr> 
<tr> 
     <td>setTimeout</td> 
     <td></td> 
     <td>1000</td> 
</tr> 
<tr> 
     <td>clickAndWait</td> 
     <td>btnG</td> 
     <td>1000</td> 
</tr> 
<tr> 
     <td>click</td> 
     <td>link=CLEP Test Center Search</td> 
     <td></td> 
</tr> 
<tr> 
     <td>clickAndWait</td> 
     <td>link=Home</td> 
     <td></td> 
</tr> 

Se qualcuno può consigliare, grazie mille.

risposta

12

Vorrei raccomandare un'altra soluzione aggiungendo un comando waitForElementPresent prima di fare clic sul collegamento.

  • aperto/
  • cerca di prova q
  • clicca btnG
  • collegamento waitForElementPresent = CLEP Test Center Ricerca
  • click link = CLEP test Centro Ricerca
  • collegamento
  • waitForElementPresent = casa
  • click link = Home

È possibile trovare una buona spiegazione in http://www.infoq.com/articles/testing-ajax-selenium

+0

Che ha funzionato la sceneggiatura. Grazie mille per la tua guida, abochan, –

+0

Prego, user446660 :) – abochan