2009-11-10 11 views
8

Ich verwende Selenium IDE, um einige Szenarien aufzuzeichnen, und wollte überprüfen, ob ein bestimmter Text auf der Seite vorhanden ist. Ich habe einen Befehl "VerifyTextPresent" eingefügt. Das Ergebnis wird jedoch immer als wahr zurückgegeben, auch wenn der betreffende Text nicht vorhanden ist."VerifyTextPresent" gibt ein falsches Ergebnis für Selenium IDE zurück

Was kann der wahrscheinliche Grund sein? Muss ich etwas ändern?

+0

Der wahrscheinliche Grund ist, dass der Text tatsächlich irgendwo auf der Seite ist (auch wenn es nicht sichtbar ist). Können Sie Ihren Testcode und die Seitenquelle teilen? –

Antwort

10

Mit Blick auf den Quellcode sieht es so aus, als würden Sie den gesuchten Text in das falsche Feld eingeben. verifyTextPresent (und assert ...) hat nur zwei Parameter im Gegensatz zu verifyText, die auch ein Ziel erfordert.

Im Gegensatz zu verifyText sollte das gesuchte Textelement in das zweite Feld 'Ziel' und nicht in 'Wert' eingegeben werden.

somit der Code wird

<tr> 
<td>verifyTextPresent</td> 
<td>XYZ</td> 
<td></td></tr> 

ich den gleichen Fehler gemacht, als irreführend Selen als Feldnamen zu lernen!

1

Selenium assertions haben verschiedene Modi:

Alle Selen Assertions können in 3 Modi verwendet werden: "behaupten", "überprüfen", und "waitFor". Zum Beispiel können Sie "assertText", "verifyText" und "waitForText". Wenn eine "Bestätigung" fehlschlägt, wird der Test abgebrochen. Wenn ein "verify" fehlschlägt, wird der Test fortgesetzt Ausführung, protokolliert den Fehler.

Versuchen Sie assertTextPresent. Dies sollte den Test sofort abbrechen.

+0

Funktioniert immer noch nicht. :( Irgendwie wird der Test immer noch bestanden. – Aditya

+0

Das Problem ist, es protokolliert nicht Fehler, selbst wenn es fehlschlagen sollte ... – Aditya

+0

Bitte posten Sie Ihren Testcode und Seite –