Selenium Extensii de bază (User-Extensions.js)
Pentru a înțelege extensiile, să înțelegem mai întâi cei trei piloni ai seleniului IDE
- Acțiune: ce operație efectuați pe ecranul UI
- Evaluatori/Afirmație: ce verificare faceți cu privire la datele pe care le obțineți din UI
- Strategia de localizare: Cum putem găsi elementul în UI.
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.
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.
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ă?
- Mergi la pagina Selenium IDE
Faceți clic pe Opțiuni -> Opțiuni...
- În secțiunea General selectați locația noului creat Selenium Extensie de bază
- Faceți clic pe OK și reporniți Selenium IDE
- Veți găsi extensia în lista de comenzi
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