browser-automation

___ qstnhdr ___ Prüfen Sie, ob die Meldung "Bitte geben Sie eine E-Mail-Adresse ein" erscheint ___ tag123selenium ___ Selenium ist ein beliebtes Open-Source-Tool zur Automatisierung von Webbrowsern. Wenn Sie dieses Tag verwenden, schließen Sie auch andere Tags für die von Ihnen verwendeten Komponenten ein, z. Selen-Webdriver für die Sprachbindung, Selenid, Selen-Gitter, etc. ___ tag123webdriver ___ WebDriver ist eine API zur Steuerung von Webbrowsern, die einen echten Benutzer imitiert. Es wird hauptsächlich für automatisierte Tests verwendet. WebDriver hat mehrere Sprachenbindungen und Treiber (ermöglicht die Steuerung verschiedener Browser). Wenn Ihre Frage für eines von ihnen spezifisch ist, stellen Sie sicher, dass Sie auch das entsprechende Tag angeben. ___ qstntxt ___

Gegeben eine einfache Seite:

%Vor%

Wenn ich irgendetwas in ein Textfeld eingabe, das keine E-Mail ist und auf die Schaltfläche klicke, erscheint die Meldung %code% .

Gibt es eine Möglichkeit zu überprüfen, ob die Nachricht mit Selenium oder Watir erscheint? Soweit ich sehe, erscheint nichts neues im Browser DOM.

Da die Seite eine E-Mail verwendet, überprüfen Sie, ob diese Funktion in einem Browser integriert ist. Ist es sogar sinnvoll, diese Fehlermeldung zu überprüfen? Es ist auf der gleichen Ebene wie zu prüfen, ob die Browser-Bildlaufleiste funktioniert. Wir überprüfen nicht mehr die Webanwendung, sondern die Plattform (den Browser).

Eine frühere verwandte Frage zu SO ist: Wie teste ich Fehlerbedingungen in HTML5-Seiten mit Gurke?

    
___ tag123watir ___ Watir (ausgesprochen Wasser) steht für Web Application Testing in Ruby. Watir ist eine Open-Source (BSD) -Familie von Ruby-Bibliotheken zur Automatisierung von Web-Browsern. Es wird als Ruby GEM namens "Watir" vertrieben. Watir wurde in erster Linie von Bret Pettichord und Paul Rogers entwickelt. ___ tag123browserautomatik ___ Mit der Browser-Automatisierung kann ein Web-Browser angewiesen werden, die gleiche, möglicherweise lange Aufgabe automatisch oder nach Belieben zu wiederholen. Im täglichen Gebrauch kann die Browser-Automatisierung zum Ausfüllen von Formularen, zum Extrahieren von Daten von Webseiten oder zum Authentifizieren eines Dienstes verwendet werden. Die Browser-Automatisierung wird häufig zum Automatisieren des Testens von Web-Anwendungen verwendet. Die gleichen Tests können nach jeder Änderung und in verschiedenen Browsern wiederholt werden, um das korrekte Verhalten zu überprüfen. ___ answer15647691 ___

Ich stimme zu, dass dies dem "Testen des Browsers" näher kommt. Wenn Ihr Code von dieser Browserfunktion abhängt, muss die Website den richtigen HTML-Code (5) erstellen, damit der Browser Sie kennt möchte diese Ebene der Validierung, und das können Sie überprüfen.

Einige gute Hintergrundinformationen hierzu finden Sie unter art of the web

Die browserseitige Validierung wird durch die Kombination des spezifischen Eingabetyps (den Sie über die %code% -Methode von watir überprüfen konnten) und des neuen %code% -Attributs ausgelöst (was vielleicht ein Trick ist). Angesichts dessen denke ich, dass ich tatsächlich Hier sehen Sie einen guten Grund für ein neues Feature in Watir. Ich denke, wir könnten eine %code% -Methode verwenden, die für alle Eingabeelemente unterstützt werden sollte, die das neue 'required'-Attribut unterstützen, und würde true zurückgeben, wenn das Attribut' required 'vorhanden ist.

Sie können also im Moment wissen, dass Sie einen HTML5-Browser verwenden, der diese Funktion unterstützt. Sie könnten also prüfen, ob der Eingabetyp "E-Mail" ist und dass das Attribut "required" vorhanden ist. (Ich habe keine Ahnung, wie das geht, aber vielleicht kann jemand anders einen Weg vorschlagen).

Die andere Sache, um sicher zu sein, würde sein, einen ungültigen Wert zur Verfügung zu stellen, und stellen Sie sicher, dass das Formular sich nicht erlaubt, vorgelegt zu werden. z.B. ist die Validierung durchgesetzt, oder nur beratend. (Und vergessen Sie nicht, die Server-Seite zu überprüfen, indem Sie mit curl oder httparty trotzdem ungültige Daten senden, da ein feindseliger Benutzer leicht jede inbrowser-Validierung umgehen und dieses Formular mit gefälschten oder sogar 'feindlichen' Werten übergeben könnte, die einen Puffer verursachen Overflow oder Injection-Attacke. Keine Site sollte ausschließlich von der Client-seitigen Validierung abhängen.)

Die andere Sache, die es zu beachten gilt, ist die Frage, ob der Benutzer sich in einem Browser befindet, der diese spezielle Validierungsfunktion NICHT unterstützt. Was macht die Seite dann? Ich würde eine Art von clientseitigem Javascript und eine Nachricht annehmen, die angezeigt wird.

In diesem Fall hängt es wirklich von der Art ab, in der die Nachricht erscheint. In der App, die ich gerade teste, befinden sich Nachrichten dieser Art in handlichen divs mit eindeutigen Klassen, die von css gesteuert werden, um normalerweise ausgeblendet zu werden, und werden dann angezeigt, wenn die Clientseite JS die Notwendigkeit erkennt, eine Nachricht für die Nachricht anzuzeigen Benutzer. Natürlich habe ich Tests für solche Sachen. Hier ist ein Beispiel für jemanden, der unseren allgemeinen Geschäftsbedingungen zustimmt. (Hinweis: Wir verwenden Cucumber und das Juwel der Test-Factory, um Seitenobjekte und Datenobjekte zu erstellen)

Beginnen wir mit der Nachricht, und was für ein Rechtsklick.examine-Element zeigt

Das Szenario in der Datei %code% sieht folgendermaßen aus

%Vor%

Die kritischen Gurkenschritte sind:

%Vor%

Die relevanten Teile des %code% Seitenobjekts sind

%Vor%

Liefert das ein Beispiel?

Hinweis: Es könnte leicht argumentiert werden, dass die zweite Validierung (auf der Seite bleiben) redundant ist, da ich die Nachricht wahrscheinlich nicht sehen werde, wenn ich nicht immer noch auf der Seite bin. Aber es fügt Klarheit zu der erwarteten Benutzererfahrung hinzu, die im Szenario beschrieben wird. Es könnte auch sehr wichtig sein, wenn die Implementierung wo zu ändern, zum Beispiel, wenn es entschieden wurde, etwas wie eine Javascript-Warnung zu verwenden, dann kann es wichtig sein, das zu validieren Einmal entlassen (etwas, was der Schritt "Ich sehe die Nachricht" wahrscheinlich tun würde), ging der Benutzer trotzdem nicht auf die Seite.

    
___ tag123watirwebdriver ___ Watir (ausgesprochen Wasser) steht für Web Application Testing in Ruby. Watir ist eine Open-Source (BSD) -Familie von Ruby-Bibliotheken zur Automatisierung von Webbrowsern. Es wird als Ruby GEM namens "Watir" vertrieben. Watir wurde in erster Linie von Bret Pettichord und Paul Rogers entwickelt. ___ answer29548873 ___

Ich habe keine Möglichkeit gefunden, nach der tatsächlichen Fehlermeldung zu suchen. Sie können jedoch überprüfen, ob das Eingabefeld nach Eingabe einer Nicht-E-Mail ungültig ist, indem Sie den Pseudo-Selektor %code% CSS verwenden.

%Vor%     
___ answer15642511 ___

Du könntest es so versuchen

%Vor%

Ausgabe für die obige Zeile ist

%Vor%

Also können Sie daraus schließen, ob der angegebene Wert gültig ist oder nicht.

Im Folgenden wird die javascript-Logik basierend auf der Gültigkeit des Feldes

auf wahr / falsch zurückführen %Vor%

Ps .: Ich nehme an, Input-Tag hat ID "a"

    
___
3
Antworten

Prüfen Sie, ob die Meldung "Bitte geben Sie eine E-Mail-Adresse ein" erscheint

Gegeben eine einfache Seite: %Vor% Wenn ich irgendetwas in ein Textfeld eingabe, das keine E-Mail ist und auf die Schaltfläche klicke, erscheint die Meldung Please enter an email address . Gibt es eine Möglichkeit zu überprüfen, ob die...
26.03.2013, 12:08