Putting Verzögerung, bis die nächste Seite geladen wird vollständig in Selenium IDE
Ich versuche zu automatisieren, testen mit selenium IDE. Ich habe installiert das add-on für firefox. Ich versuche, das login mit admin/admin-Anmeldeinformationen in eine der websites, und nach, dass es dauert ein paar Sekunden bis zum laden der nächsten Seite vollständig.
<tr>
<td>type</td>
<td>id=username</td>
<td>admin</td>
</tr>
<tr>
<td>type</td>
<td>id=password</td>
<td>admin</td>
</tr>
<tr>
<td>click</td>
<td>css=button.btn</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>30000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=span.ncs-tree-nav</td>
<td></td>
</tr>
waitForPageToLoad
funktioniert nicht, es sollte im Idealfall warten Sie 30 Sekunden, sobald aber der login-button wird geklickt, Testfall Fehler, da es nicht in der Lage zu finden Nächstes element auf der Seite.
Hier ist die Ausgabe von der IDE :-
[info] Executing: |open | /login.html | |
[info] Executing: |type | id=username | admin |
[info] Executing: |type | id=password | admin |
[info] Executing: |click | css=button.btn | |
[info] Executing: |waitForPageToLoad | 30000 | |
[info] Executing: |click | css=span.ncs-tree-nav | |
[error] Element css=span.ncs-tree-nav not found
Sobald die Anmeldung erledigt ist, zog Sie für die Suche erwartet, navigation und Fehler kam.
Es wird hilfreich sein, wenn jemand darauf hinweisen, wenn ich etwas verpasst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen pragmatischen Ansatz,
Wenn Sie haben einige optischen Zustand bekommt, dass stimmt nur, wenn die Seite geladen ist, können Sie sehen, dass für.
Sagen, dass der text "Willkommen, User" angezeigt bekommt, in ein span mit der id=content irgendwo, wenn die Seite geladen ist, können Sie ersetzen Sie Ihren waitForPageToLoad mit
Möglicherweise können Sie noch so stumpf, wie
obwohl ich noch nicht getestet, letztere selbst.
pause
und es löste das Problem! Werden versuchen, Ihre Lösung zu![error] Timed out after 30000ms
habe diesen Fehler mitwaitForText
pause
vielleicht sind Sie gut mit, dass.Wenn Sie Ihre Seite erneut geladen wird, nach einem Klick, Sie haben zu verwenden clickAndWait statt klicken Sie auf:
Wenn die Seite nicht neu laden, Obere code funktioniert nicht. In diesem Fall warten, bis eine Anwesenheit von ein element, dass Sie gehen, um auf den nächsten Schritt: