Selenium Ydinlaajennukset (User-Extensions.js)
Laajennusten ymmärtämiseksi on ensin ymmärrettävä seleeni-IDE:n kolme pilaria
- Toimi: mitä toimintoa suoritat käyttöliittymän näytöllä
- Arvioijat/vahvistus: Minkä vahvistuksen teet käyttöliittymästä saamillesi tiedoille
- Paikannusstrategia: Kuinka löydämme elementin käyttöliittymästä.
Nyt, Selenium IDE:llä on erittäin kypsä kirjasto, jossa on runsaasti toimintoja, väitteitä / arvioijia ja paikannusstrategioita.
Mutta joskus meidän on lisättävä siihen lisää toimintoja projektimme vaatimuksia varten. Tässä tilanteessa voimme laajentaa tätä kirjastoa lisäämällä mukautettuja laajennuksiamme. Näitä mukautettuja laajennuksia kutsutaan käyttäjälaajennuksiksi.
Tarvitsemme esimerkiksi toiminnon, joka voi muuntaa tekstin isoiksi kirjaimiksi ennen sen täyttämistä verkkoelementtiin. Et löydä tätä toimintoa oletustoimintokirjastosta. Tässä tapauksessa voit luoda oman käyttäjälaajennuksen. Tässä opetusohjelmassa opimme luomaan käyttäjälaajennuksen tekstin muuntamiseksi isoiksi kirjaimiksi
Luomisen vaatimus Selenium käyttäjälaajennus
Luodaksesi käyttäjälaajennuksen kohteelle Selenium IDE, meidän on tiedettävä peruskäsite JavaKäsikirjoitus ja Java Käsikirjoituksen prototyyppiobjektikonsepti.
Sinun on luotava käyttäjälaajennuksen luominen Java komentosarjamenetelmiä ja lisää ne seleeniobjektin prototyyppiin ja PageBot-objektin prototyyppiin.
Miten Selenium Tunnistaako IDE käyttäjälaajennuksen?
Käyttäjälaajennuksen lisäämisen jälkeen Selenium IDE, kun aloitamme Selenium IDE, kaikki nämä javascriptin prototyypin laajennukset ladataan ja Selenium IDE tunnistaa ne nimensä perusteella.
Kuinka luoda käyttäjälaajennus
Vaihe 1) Toimi– kaikki toiminnot alkavat "do", eli jos toiminto on isoilla kirjaimilla, sen nimi tulee olemaan doTextUpperCase. Kun lisäämme tämän toimintatavan Selenium SDI, Selenium IDE luo itse odotusmenetelmän tälle toiminnolle. Joten tässä tapauksessa, kun luomme doTextUpperCase toiminta, Selenium IDE luo vastaavan odotusfunktion muodossa TextUpperCaseAndWait. Se voi hyväksyä kaksi parametria
Esimerkki: Tekstin isot kirjaimet
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); };
Vaihe 2) Arvioijat/väite- Kaikki seleeniobjektin prototyyppiin rekisteröidyt arvioijat merkitään etuliitteenä
sanalla "get" tai "on" esim. getValueFromCompoundTable , isValueFromCompoundTable .Se voi hyväksyä kaksi parametria, toinen kohde- ja toinen arvokenttään testitapauksessa.
Jokaiselle arvioijalle on vastaavat vahvistustoiminnot, joiden etuliitteenä on "verify", "assert" ja odotustoiminnon etuliite "waitFor".
Esimerkki: Isojen kirjainten tekstin arvioijille
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; };
Vaihe 3) Paikannusstrategia- Jos haluamme luoda oman funktion elementin paikantamiseksi, niin
meidän on laajennettava PageBot-prototyyppiä funktiolla, jonka etuliite on "locateElementBy".
Se vaatii kaksi parametria, ensimmäinen on paikannusmerkkijono ja toinen asiakirja
mistä se pitää etsiä.
Esimerkki: Tekstin suuraakkosia varten
// 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; };
Kuinka käyttää juuri luotua ydinlaajennusta?
- Mene Selenium IDE
Napsauta Asetukset -> Asetukset…
- Valitse Yleiset-osiossa juuri luodun sijainti Selenium Ydinlaajennus
- Napsauta OK ja käynnistä uudelleen Selenium IDE
- Löydät laajennuksen komentoluettelosta
Tässä on luettelo käytetyistä suosituista laajennuksista/laajennuksista Selenium IDE
Nimi | Tarkoitus |
---|---|
Suosikit | Voit merkitä testipaketin suosikiksi ja suorittaa ne yhdellä napsautuksella |
Flex Pilot X | Flex-pohjaiseen automaatioon |
FlexMonkium | Adobe Flex -pohjaiseen tallennukseen ja toistoon Testaus in Selenium IDE |
Tiedostojen kirjaaminen | Lokien tallentamiseen tiedostoon |
Flow Control | Testin suoritusvirran ohjaamiseen |
Korosta Elementit | Verkkosäätimen korostaminen |
Epäsuora odota | Odottaa elementtiä tietyn aikarajan |
Kuvakaappaus epäonnistumisesta | Ota kuvakaappaus epäonnistumisesta |
Testitulokset | Säästä Testitapaus testisarjan tulos yhdellä napsautuksella |
Voit saada nämä kaikki ja paljon muuta SeleniumHQ:n virallisen sivuston latausosio
http://docs.seleniumhq.org/download/
Yhteenveto
- Siinä on kolme osaa Selenium IDE, toiminta, arvioijat/väite, paikannusstrategia.
- Käyttäjälaajennus luodaan, kun Selenium IDE ei täytä nykyistä vaatimusta.
- Käyttäjälaajennuksen luominen edellyttää javascriptin lisäämistä seleenin objektiprototyyppiin.
- Laajennuksen luomisen jälkeen se on lisättävä Selenium IDE ja käynnistä IDE uudelleen.
Lataa Selenium Tässä opetusohjelmassa käytetty ydinlaajennus