Wie um zu überprüfen, ob ein Eingang ist deaktiviert mit JavaScript, Selenium
Ich bin Gebäude und automatisierte test-Skript für eine webapp mit Selen und ich versuche, die waifForCondition Funktion der API, wo es wartet, bis ein JS-script ausgewertet true
.
Momentan habe ich diese Quelle auf der Seite:
<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0" readonly="" disabled="">
Was ändern sollte:
<input id="modifyHostsForm:idDnsIp0_0" type="text" name="modifyHostsForm:idDnsIp0_0">
Sobald ich einen bestimmten Wert auf einem anderen Feld und feuern Sie die "blur" - Ereignis auf das (und das Feld wird somit "aktiviert").
Und ich versuche, führen Sie die folgenden JS script zu testen wenn dieses Feld aktiviert ist (im Grunde das was ich gefunden von "Googeln"):
document.getElementbyId('modifyHostsForm:idDnsIp0_0').disabled == false
Aber ich bin immer ein SeleniumException
was bedeutet, dass "Objekt unterstützt diese Eigenschaft oder Methode nicht". Was kann ich hier tun? Jede Hilfe würde geschätzt werden.
- p.s. überprüfung der für die
readonly
Attribut auch funktionieren würde - sind Sie mit Doppel-entspricht zuweisen im code?
disabled == false
?? - Nein, es ist nicht ein Auftrag, es ist eine Prüfung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der Suche in diesem fand ich die Antwort. Ich bin dokumentieren es hier in den Fall, jemand hat Verwendung für Sie.
War ich mit meiner Frage code in der FireBug-console an und es wurde korrekt arbeitet; jedoch beim ausführen von meinem script, das ich immer
SeleniumException
.Es stellt sich heraus, dass Sie verwenden müssen
Selen.browserbot.getCurrentWindow()
für den RC-Ausführung der JS-script auf die wichtigsten Fenster, die Sie verwenden anstelle der control-Fenster, dass pops-up.Als solche, die JS-code, den ich tatsächlich bewerten müssen, endet als diese:
Die funktioniert Prima. Danke für die anderen Hinweise.
Versuchen
Können Sie brauchen, um eine variable zu setzen und dann überprüfen, ob es gesetzt oder null ist, also:
dann die Bedingung:
SeleniumException
: "'Anleitung.getElementById(...)' ist null oder kein Objekt"true
oderfalse
gibt es keinenull
. In Fällen wie meinem, das ist bequemer.Fast... Sie brauchen:
if
soll behandelt werden, indem Selen, ich sollte einfach die Funktion zu bewerten. Ich hatte nicht gesehen, das Kapital B Sache aber ich werde sehen, wie das funktioniert.B
geändert Ausnahme Fehler "Objekt Erforderlich".modifyHostsForm:idDnsIp0_0
existiert?Auch sicherstellen, dass Sie prüfen
isDisabled == undefined
:isDisabled == null || isDisabled == false || isDisabled == undefined