Selenium Core Extensions (User-Extensions.js)

Inhaltsverzeichnis:

Anonim

Um Erweiterungen zu verstehen, verstehen wir zunächst die drei Säulen der Selen-IDE

  1. Aktion: Welche Operation führen Sie auf dem UI-Bildschirm aus?

  2. Assessoren / Behauptung: Welche Überprüfung führen Sie für Daten durch, die Sie von der Benutzeroberfläche erhalten?

  1. Locator-Strategie: Wie finden wir das Element in der Benutzeroberfläche?

Jetzt verfügt Selenium IDE über eine sehr ausgereifte Bibliothek mit zahlreichen Aktionen, Assertion / Assessors und Locator-Strategien.

Manchmal müssen wir jedoch weitere Funktionen für unsere Projektanforderungen hinzufügen. In diesem Fall können wir diese Bibliothek erweitern, indem wir unsere benutzerdefinierten Erweiterungen hinzufügen. Diese benutzerdefinierten Erweiterungen werden als "Benutzererweiterung" bezeichnet.

Zum Beispiel benötigen wir eine Aktion, die den Text in Großbuchstaben konvertieren kann, bevor er in ein Webelement gefüllt wird. Sie können diese Aktion nicht in der Standardaktionsbibliothek finden. In diesem Fall können Sie Ihre eigene 'Benutzererweiterung' erstellen. In diesem Tutorial erfahren Sie, wie Sie eine Benutzererweiterung erstellen, um Text in Großbuchstaben umzuwandeln

Voraussetzung zum Erstellen einer Selenium-Benutzererweiterung:

Um eine Benutzererweiterung für Selenium IDE zu erstellen, müssen wir das Grundkonzept des JavaScript- und Java Script-Prototyp-Objektkonzepts kennen.

Um Ihre Benutzererweiterung zu erstellen, müssen Sie Java-Skriptmethoden erstellen und sie dem Selen-Objekt-Prototyp und dem PageBot-Objekt-Prototyp hinzufügen.

Wie erkennt Selenium IDE die Benutzererweiterung?

Nach dem Hinzufügen der Benutzererweiterung zur Selenium-IDE beim Starten der Selenium-IDE werden alle diese Erweiterungen im Javascript-Prototyp geladen, und die Selenium-IDE erkennt sie an ihrem Namen.

So erstellen Sie eine Benutzererweiterung

Schritt 1) ​​Aktion - Alle Aktionen werden mit "do" gestartet. Wenn es sich bei der Aktion um Großbuchstaben handelt, lautet der Name doTextUpperCase. Wenn wir diese Aktionsmethode in Selenium IDE hinzufügen, erstellt Selenium IDE selbst eine Wartemethode für diese Aktion. In diesem Fall erstellt Selenium IDE beim Erstellen der Aktion doTextUpperCase eine entsprechende Wartefunktion als TextUpperCaseAndWait . Es können zwei Parameter akzeptiert werden

Beispiel: Textaktion in Großbuchstaben

Selenium.prototype.doTextUpperCase = Funktion (Locator, Text) {// Hier kann findElement selbst alle Arten von Locatoren verarbeiten (xpath, css, name, id, className). Wir müssen nur den Locator-Text übergebenvar element = this.page (). findElement (locator);// Erstellen Sie den zu tippenden Texttext = text.toUpperCase ();// Ersetze den Elementtext durch den neuen Textthis.page (). replaceText (Element, Text);};

Schritt 2) Assessoren / Behauptung - Allen im Selenobjekt-Prototyp registrierten Assessoren wird ein Präfix vorangestellt

durch "get" oder "is" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Es können zwei Parameter akzeptiert werden, einer für das Zielfeld und einer für das Wertefeld im Testfall.

Für jeden Assessor gibt es entsprechende Überprüfungsfunktionen mit dem Präfix "verify", "assert" und dem Präfix "waitFor" für die Wartefunktion.

Beispiel: Für Textprüfer in Großbuchstaben

Selenium.prototype.assertTextUpperCase = Funktion (Locator, Text) {// Alle Locator-Strategien werden automatisch von "findElement" behandeltvar element = this.page (). findElement (locator);// Erstellen Sie den zu überprüfenden Texttext = text.toUpperCase ();// Den tatsächlichen Elementwert abrufenvar actualValue = element.value;// Stellen Sie sicher, dass der tatsächliche Wert dem erwarteten Wert entsprichtAssert.matches (expectedValue, actualValue);};Selenium.prototype.isTextEqual = Funktion (Locator, Text) {return this.getText (locator) .value === text;};Selenium.prototype.getTextValue = Funktion (Locator, Text) {return this.getText (locator) .value;};

Schritt 3) Locator-Strategie - Wenn wir eine eigene Funktion zum Lokalisieren eines Elements erstellen möchten, dann

Wir müssen den PageBot-Prototyp um eine Funktion mit dem Präfix "locateElementBy" erweitern.

Es werden zwei Parameter benötigt, der erste ist die Locator-Zeichenfolge und der zweite das Dokument

wo es gesucht werden muss.

Beispiel: Für Text Locator in Großbuchstaben

// Das "inDocument" ist ein Dokument, das Sie suchen.PageBot.prototype.locateElementByUpperCase = Funktion (Text, inDocument) {// Erstellen Sie den zu suchenden Textvar expectedValue = text.toUpperCase ();// Durchlaufe alle Elemente und suche nach solchen, die haben// ein Wert === unser erwarteter Wertvar allElements = inDocument.getElementsByTagName ("*");// Dieser Stern '*' ist eine Art regulärer Ausdruck, der jedes Element durchläuft (im HTML-DOM hat jedes Element sicherlich einen Tag-Namen wie , ,

, , ,
usw.). Hier ist unser Motiv, ein Element zu finden, das mit dem übergebenen Großbuchstaben übereinstimmt, damit wir es mit allen Elementen durchsuchen und wenn wir übereinstimmen, das richtige Webelement haben.für (var i = 0; i

Wie verwende ich eine neu erstellte Kernerweiterung?

  1. Gehen Sie zu Selenium IDE

    Klicken Sie auf Optionen -> Optionen…

  1. Wählen Sie im Abschnitt Allgemein den Speicherort der neu erstellten Selenium Core Extension aus

  2. Klicken Sie auf OK und starten Sie Selenium IDE neu

  1. Sie finden die Erweiterung in der Befehlsliste

Hier ist eine Liste der gängigen Erweiterungen / Plug-Ins, die in Selenium IDE verwendet werden

Name Zweck
Favoriten Markieren Sie eine Testsuite als Favorit und führen Sie sie mit einem Klick aus
Flex Pilot X. Für Flex-basierte Automatisierung
FlexMonkium Für Adobe Flex-basierte Aufnahme- und Wiedergabetests in Selenium IDE
Dateiprotokollierung Zum Speichern von Protokollen in einer Datei
Ablaufsteuerung Zum Steuern des Testausführungsflusses
Elemente hervorheben So markieren Sie ein Websteuerelement
Implizites Warten Warten auf ein Element für ein bestimmtes Zeitlimit
Screenshot bei Fehler Machen Sie einen Screenshot bei einem Fehler
Testergebnisse Speichern Sie das Testergebnis für eine Testsuite mit einem Klick

Sie können all dies und noch viel mehr im Download-Bereich der offiziellen SeleniumHQ-Site herunterladen

http://docs.seleniumhq.org/download/

Zusammenfassung:

  • Es gibt drei Teile der Selenium-IDE: Aktion, Assessoren / Assertion, Locator-Strategie.
  • Die Benutzererweiterung wird erstellt, wenn die Selenium-IDE die aktuelle Anforderung nicht erfüllt.
  • Um eine Benutzererweiterung zu erstellen, muss dem Objektprototyp von Selen Javascript hinzugefügt werden.
  • Nach dem Erstellen der Erweiterung muss diese in der Selenium-IDE hinzugefügt und die IDE neu gestartet werden.

Laden Sie die in diesem Tutorial verwendete Selenium Core Extension herunter