Selenium Extensii de bază (User-Extensions.js)

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

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

    Selenium Extensii de bază

  2. Evaluatori/Afirmație: ce verificare faceți cu privire la datele pe care le obțineți din UI

Selenium Extensii de bază

  1. Strategia de localizare: Cum putem găsi elementul în UI.

Selenium Extensii de bază

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ă îi adăugăm mai multe funcționalități pentru cerințele proiectului nostru. În această situație, putem extinde această bibliotecă prin adăugarea extensiilor noastre personalizate. Aceste extensii personalizate se numesc „Extensie utilizator”.

De exemplu, avem nevoie de o acțiune care poate converti textul în 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 o extensie de utilizator pentru a converti textul în majuscule

Cerința de a crea Selenium extensia utilizator

Pentru a crea extensia de utilizator pentru Selenium IDE, trebuie să cunoaștem conceptul de bază al JavaScenariu si Java Concept de obiect prototip de script.

Cerința de a crea Selenium Extensia utilizatorului

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

Cum Selenium IDE recunoaște extensia utilizatorului?

După adăugarea extensiei utilizator la Selenium IDE când începem Selenium IDE, toate aceste extensii din prototipul javascript sunt încărcate și Selenium IDE le recunoaște după numele lor.

Cum se creează extensia utilizator

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

Exemplu: Acțiune de text cu majuscule

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);
    };

Pasul 2) Evaluatori/Aserțiune- Toți evaluatorii înregistrați în prototipul obiectului 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 de valoare în cazul testului.

Creați extensia utilizator

Pentru fiecare Evaluator, vor exista funcții de verificare corespunzătoare prefixate cu „verify”, „assert” și prefixul funcției de așteptare cu „waitFor”

Exemplu: pentru evaluatorii de text cu majuscule

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;
    };

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

trebuie să extindem prototipul PageBot cu o funcție cu prefixul „locateElementBy”.

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

unde trebuie căutat.

Exemplu: pentru Localizatorul de text cu majuscule

// 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;
    };

Cum se utilizează extensia de bază nou creată?

  1. Mergi la pagina Selenium IDE

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

Utilizați extensia de bază recent creată

  1. În secțiunea General selectați locația noului creat Selenium Extensie de bază

    Utilizați extensia de bază recent creată

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

Utilizați extensia de bază recent creată

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

Utilizați extensia de bază recent creată

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

Nume Scop
Favorite Pentru a marca o suită de teste ca favorită și a le executa cu un singur clic
Flex Pilot X Pentru automatizarea bazată pe Flex
FlexMonkium Pentru înregistrarea și redarea bazate pe Adobe Flex Testarea in Selenium IDE
Înregistrare fișiere 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 A aștepta un element pentru o anumită limită de timp
Captură de ecran la Eșec Faceți o captură de ecran la eșec
Rezultatele testului Economisește Caz de testare rezultat pentru o suită de teste cu un singur clic

Puteți obține toate acestea și multe altele de la SeleniumSecțiunea de descărcare a site-ului oficial HQ

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

Rezumat

  • Există trei părți din Selenium IDE, Acțiune, Evaluatori/Aserțiune, Strategie de localizare.
  • Extensia utilizator este creată, când Selenium IDE nu îndeplinește cerințele actuale.
  • Pentru a crea extensia utilizator, este necesar să adăugați javascript la prototipul obiectului selenium.
  • După crearea extensiei, este necesar să o adăugați Selenium IDE și reporniți IDE.

Descărcați Selenium Extensia de bază utilizată în acest tutorial