Selen Core Extensions (User-Extensions.js)

Indholdsfortegnelse:

Anonim

For at forstå udvidelser, lad os først forstå de tre søjler i selen IDE

  1. Handling: Hvilken handling du udfører på UI-skærmen

  2. Bedømmere / påstand: Hvilken verifikation du foretager på data, du får fra brugergrænsefladen

  1. Locator Strategy: Hvordan kan vi finde elementet i brugergrænsefladen.

Nu har Selen IDE et meget modent bibliotek med masser af handlinger, påstand / vurderere og lokaliseringsstrategier.

Men nogle gange er vi nødt til at tilføje noget mere funktionalitet til det efter vores projektkrav. I den situation kan vi udvide dette bibliotek ved at tilføje vores tilpassede udvidelser. Disse brugerdefinerede udvidelser kaldes 'Brugerudvidelse'.

For eksempel har vi brug for en handling, der kan konvertere teksten til store bogstaver, inden den udfyldes i et webelement. Du kan ikke finde denne handling i standardhandlingsbiblioteket. I et sådant tilfælde kan du oprette din egen 'Brugerudvidelse'. I denne vejledning lærer vi, hvordan man opretter brugerudvidelse til at konvertere tekst til store bogstaver

Krav om at oprette Selenium-brugerudvidelse:

For at oprette brugerudvidelse til Selen IDE skal vi kende det grundlæggende koncept for JavaScript og Java Script-prototype-objektkoncept.

For at oprette din brugerudvidelse skal du oprette Java-scriptmetoder og tilføje dem til selen-objektprototypen og PageBot-objektprototypen.

Hvordan Selenium IDE genkender brugerudvidelse?

Efter tilføjelse af brugerudvidelse til Selen IDE, når vi starter Selen IDE, indlæses alle disse udvidelser i javascript-prototype, og Selen IDE genkender dem ved deres navn.

Sådan oprettes brugerudvidelse

Trin 1) Handling - alle handlinger startes med "udfør", dvs. hvis handlingen er for store bogstaver, vil dens navn være doTextUpperCase. Når vi tilføjer denne handlingsmetode i Selen IDE, opretter Selen IDE selv en ventemetode til denne handling. Så i dette tilfælde, når vi opretter doTextUpperCase- handling, opretter Selen IDE en tilsvarende ventefunktion som TextUpperCaseAndWait . Det kan acceptere to parametre

Eksempel: Handling med store bogstaver

Selenium.prototype.doTextUpperCase = funktion (locator, tekst) {// Here findElement er i sig selv i stand til at håndtere alle typer locator (xpath, css, name, id, className), vi skal bare videregive locator-tekstenvar element = this.page (). findElement (locator);// Opret teksten for at skrivetekst = text.toUpperCase ();// Erstat elementteksten med den nye tekstthis.page (). erstatte tekst (element, tekst);};

Trin 2) Vurderere / påstande - Alle vurderere, der er registreret i selen-objekt-prototype, vil være præfikset

ved "get" eller "er" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Det kan acceptere to parametre, en for mål og en anden for værdifelt i testtilfælde.

For hver vurderer vil der være tilsvarende verifikationsfunktioner forud for "verificere", "hævde" og ventefunktionspræfikset for "waitFor"

Eksempel: For bedømmer af store bogstaver

Selenium.prototype.assertTextUpperCase = funktion (locator, tekst) {// Alle lokaliseringsstrategier håndteres automatisk af "findElement"var element = this.page (). findElement (locator);// Opret teksten for at bekræftetekst = text.toUpperCase ();// Få den faktiske elementværdivar actualValue = element.value;// Sørg for, at den faktiske værdi svarer til den forventedeAssert.matches (forventet værdi, faktisk værdi);};Selenium.prototype.isTextEqual = funktion (lokalisering, tekst) {returner this.getText (locator). værdi === tekst;};Selenium.prototype.getTextValue = funktion (locator, tekst) {returner this.getText (locator) .værdi;};

Trin 3) Locator-strategi - Hvis vi ønsker at oprette vores egen funktion til at finde et element, så

vi er nødt til at udvide PageBot-prototypen med en funktion med præfikset "findElementBy."

Det tager to parametre, det første vil være lokaliseringsstrengen og det andet vil være dokumentet

hvor det skal søges.

Eksempel: Til lokalisering af store bogstaver

// "inDocument" er et dokument, du søger efter.PageBot.prototype.locateElementByUpperCase = funktion (tekst, inDocument) {// Opret teksten, du vil søge eftervar expectValue = text.toUpperCase ();// Loop gennem alle elementer, på udkig efter dem der har// en værdi === vores forventede værdivar allElements = inDocument.getElementsByTagName ("*");// Denne stjerne '*' er en slags regulært udtryk, den vil gå gennem hvert element (i HTML DOM har hvert element helt sikkert et tagnavn som , ,

, , ,
osv.). Her er vores motiv at finde et element, der matcher den store bogstavtekst, vi har bestået, så vi vil søge i det med alle elementer, og når vi får match, har vi det rigtige webelement.for (var i = 0; i

Hvordan bruges nyoprettet kerneudvidelse?

  1. Gå til Selen IDE

    Klik på Indstillinger -> Indstillinger ...

  1. I sektionen Generelt skal du vælge placeringen af ​​den nyoprettede Selenium Core Extension

  2. Klik på OK, og genstart Selen IDE

  1. Du finder udvidelsen i kommandolisten

Her er en liste over populære udvidelser / plug-in, der bruges i Selenium IDE

Navn Formål
Foretrukne For at markere en testpakke som favorit og udføre dem med et enkelt klik
Flex Pilot X Til Flex-baseret automatisering
FlexMonkium Til Adobe Flex-baseret optagelse og afspilningstest i Selen IDE
Fillogning Til lagring af logfiler i en fil
Flow Control For at kontrollere testudførelsesflow
Fremhæv elementer For at fremhæve en webkontrol
Implicit Vent At vente på et element i en bestemt tidsgrænse
ScreenShot on Fail Tag et skærmbillede ved fejl
Test resultater Gem testresultat for en testpakke med et enkelt klik

Du kan få alt dette og mange flere fra SeleniumHQ officielle websteds download sektion

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

Resumé:

  • Der er tre dele af Selen IDE, Action, Assessors / Assertion, Locator-strategi.
  • Brugerudvidelse oprettes, når Selen IDE ikke opfylder det aktuelle krav.
  • For at oprette brugerudvidelse er det nødvendigt at tilføje javascript til selen's objektprototype.
  • Efter oprettelse af udvidelse er det nødvendigt at tilføje det i Selen IDE og genstarte IDE.

Download Selen Core-udvidelsen, der bruges i denne vejledning