Selenium Core Extensions (User-Extensions.js)

För att förstå tillägg, låt oss först förstå de tre pelarna i selen IDE

  1. Åtgärd: Vilken operation du utför på UI-skärmen

    Selenium Core-tillägg

  2. Bedömare/påstående: Vilken verifiering du gör på data du får från UI

Selenium Core-tillägg

  1. Locator Strategy: Hur kan vi hitta elementet i UI.

Selenium Core-tillägg

Nu, Selenium IDE har ett mycket moget bibliotek med massor av Actions, Assertion/Assessors och Locator Strategies.

Men ibland behöver vi lägga till lite mer funktionalitet för våra projektkrav. I den situationen kan vi utöka det här biblioteket genom att lägga till våra anpassade tillägg. Dessa anpassade tillägg kallas "användartillägg".

Till exempel behöver vi en åtgärd som kan konvertera texten till versaler innan vi fyller i den i ett webbelement. Du kan inte hitta den här åtgärden i standardbiblioteket för åtgärd. I så fall kan du skapa ditt eget "användartillägg". I den här handledningen kommer vi att lära oss hur man skapar användartillägg för att konvertera text till versaler

Krav för att skapa Selenium användartillägg

För att skapa användartillägg för Selenium IDE måste vi känna till det grundläggande konceptet JavaScript och Java Skript prototyp objekt koncept.

Krav för att skapa Selenium användartillägg

För att skapa ditt användartillägg måste du skapa Java skriptmetoder och lägg till dem i selenobjektprototypen och PageBot-objektprototypen.

Hur Selenium IDE känner igen User Extension?

Efter att ha lagt till användartillägg till Selenium IDE när vi börjar Selenium IDE, alla dessa tillägg i javascript-prototypen laddas, och Selenium IDE känner igen dem vid deras namn.

Hur man skapar användartillägg

Steg 1) Åtgärd– alla åtgärder startas av "do", dvs om åtgärden är för versaler kommer dess namn att bli doTextUpperCase. När vi lägger till denna åtgärdsmetod i Selenium SDI, Selenium IDE kommer själv att skapa en väntemetod för denna åtgärd. Så i det här fallet när vi skapar doTextUpperCase handling, Selenium IDE kommer att skapa en motsvarande väntefunktion som TextUpperCaseAndWait. Den kan acceptera två parametrar

Exempel: Textåtgärd med versaler

Selenium.prototype.doTextUpperCase = function(locator, text) {
     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text
     var element = this.page().findElement(locator);
      
     // Create the text to type
     text = text.toUpperCase();
      
     // Replace the element text with the new text
     this.page().replaceText(element, text);
    };

Steg 2) Bedömare/påstående- Alla bedömare registrerade i selenobjektprototyp kommer att ha prefix

av "get" eller "är" Ex. getValueFromCompoundTable , isValueFromCompoundTable . Den kan acceptera två parametrar, en för mål och en annan för värdefält i testfall.

Skapa användartillägg

För varje Assessor kommer det att finnas motsvarande verifieringsfunktioner med prefixet "verify", "assert" och väntefunktionsprefixet med "waitFor"

Exempel: För textbedömare i versaler

Selenium.prototype.assertTextUpperCase = function(locator, text) {
     // All locator-strategies are automatically handled by "findElement"
     var element = this.page().findElement(locator);
      
     // Create the text to verify
     text = text.toUpperCase();
      
     // Get the actual element value
     var actualValue = element.value;
    
     // Make sure the actual value matches the expected
     Assert.matches(expectedValue, actualValue);
    };
    
    Selenium.prototype.isTextEqual = function(locator, text) {
     return this.getText(locator).value===text;
    };
    
    Selenium.prototype.getTextValue = function(locator, text) {
     return this.getText(locator).value;
    };

Steg 3) Lokaliseringsstrategi- Om vi ​​vill skapa en egen funktion för att lokalisera ett element då

vi måste utöka PageBot-prototypen med en funktion med prefixet "locateElementBy."

Det kommer att krävas två parametrar, den första kommer att vara lokaliseringssträngen och den andra kommer att vara dokumentet

där den behöver sökas.

Exempel: För versaler för textsökning

// The "inDocument" is a document you are searching.
    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {
     // Create the text to search for
     var expectedValue = text.toUpperCase();
      
     // Loop through all elements, looking for ones that have
     // a value === our expected value
     var allElements = inDocument.getElementsByTagName("*");
// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.
     for (var i = 0; i < allElements.length; i++) {
     var testElement = allElements[i];
     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {
     return testElement;
     }
     }
     return null;
    };

Hur använder man nyskapad kärntillägg?

  1. Gå till Selenium IDE

    Klicka på Alternativ -> Alternativ...

Använd nyskapad Core Extension

  1. I avsnittet Allmänt väljer du platsen för den nyskapade Selenium Core Extension

    Använd nyskapad Core Extension

  2. Klicka på OK och starta om Selenium IDE

Använd nyskapad Core Extension

  1. Du hittar tillägget i kommandolistan

Använd nyskapad Core Extension

Här är en lista över populära tillägg/plugin-program som används i Selenium IDE

Namn Syfte
Favoriter För att markera en testsvit som favorit och köra dem med ett klick
Flex Pilot X För Flexbaserad automation
FlexMonkium För Adobe Flex-baserad inspelning och uppspelning Testning in Selenium IDE
Filloggning För att spara loggar i en fil
Flödeskontroll För att kontrollera testexekveringsflödet
Markera element För att markera en webbkontroll
Implicit vänta Att vänta på ett element under en viss tidsgräns
Skärmdump vid misslyckande Ta en skärmdump på misslyckande
Testresultat Spara Testfall resultat för en testsvit med ett klick

Du kan få alla dessa och många fler från SeleniumHQ officiella sajts nedladdningssektion

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

Sammanfattning

  • Det finns tre delar av Selenium IDE, Action, Assessors/Assertion, Locator-strategi.
  • Användartillägg skapas, när Selenium IDE uppfyller inte det nuvarande kravet.
  • För att skapa användartillägg krävs att man lägger till javascript till seleniums objektprototyp.
  • Efter att tillägget har skapats måste du lägga till det Selenium IDE och starta om IDE.

ladda ner Selenium Core Extension som används i denna handledning