Selenium Core Extensions (User-Extensions.js)

Cuprins:

Anonim

Pentru a înțelege extensiile, să înțelegem mai întâi cei trei piloni ai selenului IDE

  1. Acțiune: ce operațiune efectuați pe ecranul UI

  2. Evaluatori / afirmație: ce verificare faceți cu privire la datele pe care le obțineți din interfața de utilizare

  1. Strategia de localizare: Cum putem găsi elementul în interfața de utilizare.

Acum, Selenium IDE are o bibliotecă foarte matură, cu o mulțime de acțiuni, afirmații / evaluatori și strategii de localizare.

Dar, uneori, trebuie să adăugăm câteva funcționalități pentru cerințele proiectului nostru. În această situație, putem extinde această bibliotecă adăugând extensiile noastre personalizate. Aceste extensii personalizate se numesc „Extensie utilizator”.

De exemplu, avem nevoie de o acțiune care poate converti textul cu majuscule înainte de a-l completa într-un element web. Nu puteți găsi această acțiune în biblioteca implicită de acțiuni. În acest caz, vă puteți crea propria „Extensie utilizator”. În acest tutorial, vom învăța cum să creăm extensia utilizatorului pentru a converti textul cu majuscule

Cerința de a crea extensia de utilizator Selenium:

Pentru a crea extensia de utilizator pentru Selenium IDE, trebuie să cunoaștem conceptul de bază al conceptului de obiect prototip JavaScript și Java Script.

Pentru a vă crea extensia de utilizator, trebuie să creați metode de script Java și să le adăugați la prototipul obiectului seleniu și la prototipul obiectului PageBot.

Cum Selenium IDE recunoaște extensia utilizatorului?

După adăugarea extensiei de utilizator la Selenium IDE când pornim Selenium IDE, toate aceste extensii din prototipul javascript se încarcă, iar Selenium IDE le recunoaște după numele lor.

Cum se creează o extensie de utilizator

Pasul 1) Acțiune - toate acțiunile sunt începute cu „face”, adică dacă acțiunea este pentru text cu majuscule, numele său va fi doTextUpperCase. Când adăugăm această metodă de acțiune în Selenium IDE, Selenium IDE va ​​crea în sine o metodă de așteptare pentru această acțiune. Deci, în acest caz, atunci când creăm acțiunea doTextUpperCase , Selenium IDE va ​​crea o funcție de așteptare corespunzătoare ca TextUpperCaseAndWait . Poate accepta doi parametri

Exemplu: Acțiune cu majuscule

Selenium.prototype.doTextUpperCase = funcție (localizator, text) {// Aici findElement este în sine capabil să gestioneze toate tipurile de localizator (xpath, css, nume, id, className), Trebuie doar să trecem textul localizatoruluielement var = this.page (). findElement (localizator);// Creați textul pentru a tastatext = text.toUpperCase ();// Înlocuiți textul elementului cu textul nouthis.page (). replaceText (element, text);};

Pasul 2) Evaluatori / Afirmație - Toți evaluatorii înregistrați în prototipul de obiect seleniu vor fi prefixați

prin „obține” sau „este„ Ex. getValueFromCompoundTable, isValueFromCompoundTable. Poate accepta doi parametri, unul pentru țintă și altul pentru câmpul valoric în cazul testului.

Pentru fiecare evaluator, vor exista funcții de verificare corespunzătoare prefixate cu „verificați”, „afirmă” și prefixul funcției de așteptare cu „așteptațiPentru”

Exemplu: Pentru evaluatorii de majuscule

Selenium.prototype.assertTextUpperCase = funcție (localizator, text) {// Toate strategiile de localizare sunt gestionate automat de „findElement”element var = this.page (). findElement (localizator);// Creați textul pentru verificaretext = text.toUpperCase ();// Obțineți valoarea reală a elementuluivar ActualValue = element.value;// Asigurați-vă că valoarea reală se potrivește cu cea așteptatăAssert.matches (expectedValue, actualValue);};Selenium.prototype.isTextEqual = funcție (localizator, text) {returnează this.getText (localizator) .value === text;};Selenium.prototype.getTextValue = funcție (localizator, text) {returnează this.getText (locator) .value;};

Pasul 3) Strategia de localizare - Dacă dorim să ne creăm propria funcție pentru a localiza un element atunci

trebuie să extindem prototipul PageBot cu o funcție cu prefixul "findElementBy".

Va dura doi parametri, primul va fi șirul de localizare și al doilea va fi documentul

unde trebuie căutat.

Exemplu: Pentru Localizatorul textului cu majuscule

// „inDocument” este un document pe care îl căutați.PageBot.prototype.locateElementByUpperCase = funcție (text, inDocument) {// Creați textul de căutatvar expectedValue = text.toUpperCase ();// Parcurgeți toate elementele, căutând cele care au// o valoare === valoarea noastră așteptatăvar allElements = inDocument.getElementsByTagName ("*");// Această stea „*” este un fel de expresie regulată care va trece prin fiecare element (în HTML DOM fiecare element are cu siguranță un nume de etichetă precum , ,

, , ,
etc.). Aici motivul nostru este să găsim un element care să se potrivească cu textul cu majuscule pe care l-am trecut, așa că îl vom căuta cu toate elementele și când vom obține potrivirea vom avea elementul web corect.for (var i = 0; i

Cum se folosește extensia de bază recent creată?

  1. Accesați Selenium IDE

    Faceți clic pe Opțiuni -> Opțiuni ...

  1. În secțiunea General selectați locația noului Selenium Core Extension

  2. Faceți clic pe OK și reporniți Selenium IDE

  1. Veți găsi extensia în lista de comenzi

Iată o listă de extensii / plug-in-uri populare utilizate în Selenium IDE

Nume Scop
Favorite Pentru a marca o suită de testare ca preferată și a le executa dintr-un singur clic
Flex Pilot X Pentru automatizarea bazată pe Flex
FlexMonkium Pentru testarea de înregistrare și redare bazată pe Adobe Flex în Selenium IDE
Înregistrarea fișierelor Pentru salvarea jurnalelor într-un fișier
Controlul debitului Pentru a controla fluxul de execuție a testului
Evidențiați elemente Pentru a evidenția un control web
Așteptați implicit Pentru a aștepta un element pentru o anumită limită de timp
ScreenShot on Fail Faceți o captură de ecran în caz de eșec
Rezultatele testului Salvați rezultatul Test Case pentru o suită de testare cu un singur clic

Puteți obține toate acestea și multe altele din secțiunea de descărcare a site-ului oficial SeleniumHQ

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

Rezumat:

  • Există trei părți ale Selenium IDE, acțiune, evaluatori / afirmare, strategie de localizare.
  • Extensia de utilizator este creată, atunci când Selenium IDE nu îndeplinește cerința curentă.
  • Pentru a crea extensia de utilizator este necesar să adăugați javascript la prototipul obiectului seleniu.
  • După crearea extensiei, este necesar să o adăugați în Selenium IDE și să reporniți IDE.

Descărcați extensia Selenium Core utilizată în acest tutorial