Ich möchte einige Tests für einige Eingabefiltercodes in einem Textfeld schreiben. Für die meisten Tests kann ich einfach setValue
aufrufen und das Änderungsereignis auslösen, was einfach ist. Da ich jedoch in diesem Fall testen möchte, ob die Eingabe herausgefiltert wird (oder nicht), kann ich nicht einfach setValue()
direkt eingeben.
Ich habe versucht, Keydown-, Keyup-, Tastendruck- und Textinput-Ereignisse zu versenden. Ich kann sehen, dass die Handler für sie aufgerufen werden, aber die Text wird nicht wirklich in der Textbox angezeigt Beachten Sie, dass dies nur in Firefox funktioniert, ich verstehe, dass der Code für andere Browser anders aussehen würde.
%Vor%Ich verstehe, dass dies Einschränkungen hat, weil wir nicht wollen, dass Web-Apps so tun, als würden sie für den Benutzer handeln. Dies ist jedoch zum Testen meiner eigenen Anwendung und ich konnte Firefox mit einem bestimmten Profil starten und Plugins installieren, oder sogar meine eigenen schreiben, wenn ich weiß, dass es helfen wird.
Ich möchte Selenium vermeiden, ich möchte Java aus meinen JS-Tests heraushalten, weil es nicht nur langsam ist, sondern ich muss auch viele DOM-Abfragen in Java neu implementieren.
Nach all dem ist die Frage, weiß jemand, wie man diesen Code bekommt, um die Eingabe tatsächlich zu verändern? Einstellungen anpassen, Plugins installieren?
Liste der Fragen, die meine Frage nicht beantworten
Ich habe gerade herausgefunden, dass der folgende Code zumindest in Chrome funktioniert. Nein, gehen Sie in Firefox oder IE Ссылка
%Vor%Tags und Links javascript keypress javascript-events