Selen Core-tillägg (User-Extensions.js)

Innehållsförteckning:

Anonim

För att förstå tillägg kan vi först förstå de tre pelarna i selen IDE

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

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

  1. Locator Strategy: Hur kan vi hitta elementet i användargränssnittet.

Nu har Selen IDE ett mycket moget bibliotek med massor av åtgärder, påståenden / bedömare och lokaliseringsstrategier.

Men ibland måste vi lägga till lite mer funktionalitet till det för våra projektkrav. I den situationen kan vi utöka detta bibliotek genom att lägga till våra anpassade tillägg. Dessa anpassade tillägg kallas 'User Extension'.

Vi behöver till exempel en åtgärd som kan konvertera texten till versaler innan den fylls i ett webbelement. Du kan inte hitta den här åtgärden i standardhandlingsbiblioteket. I sådant fall kan du skapa din egen "User Extension". I denna handledning lär vi 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 Selen IDE måste vi känna till grundkonceptet för JavaScript och Java Script-prototypobjektkoncept.

För att skapa ditt användartillägg måste du skapa Java-skriptmetoder och lägga till dem i prototypen för selenobjekt och prototyp för PageBot-objekt.

Hur Selenium IDE känner igen användartillägg?

Efter att ha lagt till User Extension till Selen IDE när vi startar Selen IDE, laddas alla dessa tillägg i javascript-prototyp och Selen IDE känner igen dem med deras namn.

Hur man skapar användartillägg

Steg 1) Åtgärd - alla åtgärder startas av "gör", dvs. om åtgärden är för versaler än dess namn kommer att vara doTextUpperCase. När vi lägger till den här åtgärdsmetoden i Selen IDE skapar Selen IDE själv en väntemetod för den här åtgärden. Så i det här fallet när vi skapar doTextUpperCase- åtgärd skapar Selen IDE en motsvarande väntefunktion som TextUpperCaseAndWait . Det kan acceptera två parametrar

Exempel: Textåtgärd i versaler

Selenium.prototype.doTextUpperCase = funktion (locator, text) {// Här kan findElement i sig hantera alla typer av locator (xpath, css, name, id, className), vi behöver bara skicka locator-textenvar element = this.page (). findElement (locator);// Skapa texten för att skrivatext = text.toUpperCase ();// Ersätt elementtexten med den nya textenthis.page (). ersätt Text (element, text);};

Steg 2) Bedömare / påstående - Alla bedömare som är registrerade i prototyp av selenobjekt kommer att vara prefix

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

För varje bedömare kommer motsvarande verifieringsfunktioner att föregås av "verifiera", "påstå" och väntefunktionsprefixet med "vänta för"

Exempel: För bedömare av versaler

Selenium.prototype.assertTextUpperCase = funktion (locator, text) {// Alla lokaliseringsstrategier hanteras automatiskt av "findElement"var element = this.page (). findElement (locator);// Skapa texten för att verifieratext = text.toUpperCase ();// Få det faktiska elementvärdetvar actualValue = element.value;// Se till att det verkliga värdet matchar det förväntadeAssert.matches (expectValue, actualValue);};Selenium.prototype.isTextEqual = funktion (lokaliserare, text) {returnera this.getText (locator) .värde === text;};Selenium.prototype.getTextValue = funktion (lokaliserare, text) {returnera this.getText (locator) .value;};

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

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

Det tar två parametrar, den första kommer att vara lokaliseringssträng och den andra kommer att vara dokumentet

där det måste sökas.

Exempel: För lokalisering av versaler

// "inDocument" är ett dokument du söker efter.PageBot.prototype.locateElementByUpperCase = funktion (text, inDocument) {// Skapa texten du vill söka eftervar expectValue = text.toUpperCase ();// Gå igenom alla element och leta efter sådana som har// ett värde === vårt förväntade värdevar allElements = inDocument.getElementsByTagName ("*");// Denna stjärna '*' är ett slags reguljärt uttryck den kommer att gå igenom varje element (i HTML DOM har varje element säkert ett taggnamn som , ,

, , ,
etc.). Här är vårt motiv att hitta ett element som matchar den stora versalen vi har passerat så att vi söker efter det med alla element och när vi får matchning har vi rätt webbelement.för (var i = 0; i

Hur använder jag nyskapad kärnförlängning?

  1. Gå till Selen IDE

    Klicka på Alternativ -> Alternativ ...

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

  2. Klicka på OK och starta om Selen IDE

  1. Du hittar tillägget i kommandolistan

Här är en lista över populära tillägg / plug-in som används i Selen IDE

namn Ändamål
Favoriter För att markera en testsvit som favorit och köra dem med ett klick
Flex Pilot X För Flex-baserad automatisering
FlexMonkium För Adobe Flex-baserad inspelning och uppspelningstestning i Selen IDE
Filloggning För att spara loggar i en fil
Flödeskontroll För att kontrollera testkörningsflö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 vid misslyckande
Testresultat Spara testfallets resultat för en testsvit med ett klick

Du kan få allt detta och många fler från SeleniumHQ officiella webbplatsens nedladdningssektion

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

Sammanfattning:

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

Ladda ner Selenium Core Extension som används i den här självstudien