Selenium Alapkiterjesztések (User-Extensions.js)
A kiterjesztések megértéséhez először is ismerjük meg a szelén IDE három pillérét
- Művelet: Milyen műveletet hajt végre a felhasználói felület képernyőjén
- Értékelők/Állítás: Milyen ellenőrzést hajt végre a felhasználói felülettől kapott adatokon
- Kereső stratégia: Hogyan találhatjuk meg az elemet a felhasználói felületen.
Most, Selenium Az IDE egy nagyon kiforrott könyvtárral rendelkezik, amely rengeteg műveletet, állítást/értékelőt és lokációs stratégiát tartalmaz.
Néha azonban további funkciókat kell hozzáadnunk a projekt követelményeihez. Ebben a helyzetben kibővíthetjük ezt a könyvtárat egyéni bővítményeink hozzáadásával. Ezeket az egyéni bővítményeket "Felhasználói bővítménynek" nevezik.
Például szükségünk van egy Műveletre, amely a szöveget nagybetűssé tudja alakítani, mielőtt egy webelembe kitölti. Ez a művelet nem található az alapértelmezett Műveletkönyvtárban. Ebben az esetben létrehozhat saját „Felhasználói bővítményt”. Ebben az oktatóanyagban megtanuljuk, hogyan hozhat létre felhasználói bővítményt a szöveg nagybetűssé alakításához
Létrehozási követelmény Selenium felhasználói kiterjesztés
Felhasználói bővítmény létrehozásához a következőhöz Selenium IDE, ismernünk kell az alapkoncepciót JavaForgatókönyv és a Java Szkript prototípus objektum koncepció.
A felhasználói bővítmény létrehozásához létre kell hoznia Java script metódusokat, és adja hozzá őket a szelén objektum prototípusához és a PageBot objektum prototípusához.
Hogyan Selenium Az IDE felismeri a felhasználói kiterjesztést?
A felhasználói kiterjesztés hozzáadása után Selenium IDE, amikor elkezdjük Selenium IDE, ezek a kiterjesztések a javascript prototípusban betöltődnek, és Selenium Az IDE a nevükről ismeri fel őket.
Felhasználói bővítmény létrehozása
1. lépés) Művelet– minden művelet a „do”-val kezdődik, azaz ha a művelet nagybetűs szövegre vonatkozik, akkor a neve is lesz doTextUpperCase. Amikor hozzáadjuk ezt a műveleti metódust Selenium SDI, Selenium Az IDE maga hoz létre egy várakozási metódust ehhez a művelethez. Tehát ebben az esetben, amikor létrehozunk doTextUpperCase fellépés, Selenium Az IDE létrehoz egy megfelelő várakozási függvényt, mint TextUpperCaseAndWait. Két paramétert tud fogadni
Példa: nagybetűs szövegművelet
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); };
2. lépés) Értékelők/Állítás- A szelén objektum prototípusában regisztrált összes értékelő előtagot tartalmaz
a „get” vagy „is” kifejezéssel Pl. getValueFromCompoundTable , isValueFromCompoundTable . Két paramétert tud elfogadni, egyet a cél, a másikat pedig az értékmező számára tesztesetben.
Minden Értékelőhöz a megfelelő ellenőrző függvények „ellenőrzés”, „érvényesítés” előtagja, a várakozás függvény pedig „waitFor” előtagja lesz.
Példa: Nagybetűs szövegértékelőknek
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; };
3. lépés) Kereső stratégia – Ha saját függvényt szeretnénk létrehozni egy elem megkeresésére, akkor
ki kell bővítenünk a PageBot prototípusát egy „locateElementBy” előtagú függvénnyel.
Két paraméter kell hozzá, az első a lokátor karakterlánc, a második pedig a dokumentum
ahol keresni kell.
Példa: Nagybetűs szövegkeresőhöz
// 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; };
Hogyan használható az újonnan létrehozott alapkiterjesztés?
- Tovább Selenium IDE
Kattintson az Opciók -> Beállítások…
- Az Általános részben válassza ki az újonnan létrehozott objektum helyét Selenium Core Extension
- Kattintson az OK gombra, és indítsa újra Selenium IDE
- A kiterjesztés a parancslistában található
Itt található a használt népszerű bővítmények/bővítmények listája Selenium IDE
Név | Cél |
---|---|
Érdekes | Egy tesztcsomag kedvencként való megjelölése és végrehajtása egyetlen kattintással |
Flex Pilot X | Flex alapú automatizáláshoz |
FlexMonkium | Adobe Flex alapú felvételhez és lejátszáshoz Tesztelés in Selenium IDE |
Fájlnaplózás | A naplók fájlba mentéséhez |
flow Control | A teszt végrehajtási folyamatának vezérléséhez |
Jelölje ki az Elemeket | Webes vezérlőelem kiemelése |
Implicit várakozás | Várni egy elemre egy bizonyos ideig |
Képernyőkép sikertelenség esetén | Készítsen képernyőképet a kudarcról |
Vizsgálati eredmények | Megtakarítás Teszt eset egy kattintással egy tesztcsomag eredménye |
Ezeket mind és még sok mást beszerezhetsz innen SeleniumA HQ hivatalos webhelyének letöltési része
http://docs.seleniumhq.org/download/
Összegzésként
- Három része van Selenium IDE, Action, Assessors/Assertion, Locator stratégia.
- A felhasználói bővítmény akkor jön létre, amikor Selenium Az IDE nem teljesíti a jelenlegi követelményt.
- Felhasználói kiterjesztés létrehozásához hozzá kell adni a javascriptet a szelén objektum prototípusához.
- A bővítmény létrehozása után hozzá kell adni Selenium IDE, és indítsa újra az IDE-t.
Töltse le a Selenium Ebben az oktatóanyagban használt alapkiterjesztés