Laienduste mõistmiseks saate kõigepealt mõista seleeni IDE kolme samba
- Toiming: millist toimingut te kasutajaliidese ekraanil teete
- Hindajad / väide: millist kinnitust te kasutate kasutajaliidese andmete kohta
- Lokaatori strateegia: kuidas leiame kasutajaliidese elemendi.
Nüüd on Selenium IDE-l väga küps raamatukogu, kus on palju toiminguid, väiteid / hindajaid ja otsimisstrateegiaid.
Kuid mõnikord peame sellele lisama oma projekti nõuete jaoks veel mõne funktsionaalsuse. Sellises olukorras saame seda teeki laiendada, lisades oma kohandatud laiendid. Neid kohandatud laiendeid nimetatakse "kasutaja laienditeks".
Näiteks vajame toimingut, mis saab teksti enne veebielemendi täitmist suurtähtedeks teisendada. Vaiketoimingu teegist ei leia seda toimingut. Sellisel juhul saate luua oma "kasutaja laiend". Selles õpetuses õpime, kuidas luua kasutaja laiend teksti teisendamiseks suurtäheks
Seleeni kasutaja laiendi loomise nõue:
Selenium IDE jaoks kasutaja laiendi loomiseks peame teadma JavaScripti põhimõistet ja Java Scripti prototüübi objekti kontseptsiooni.
Kasutaja laiendi loomiseks peate looma Java skripti meetodid ja lisama need seleeniobjekti prototüübile ja PageBoti objekti prototüübile.
Kuidas Selenium IDE kasutaja laienduse ära tunneb?
Pärast seleen IDE-i käivitamisel kasutajaliidendi lisamist seleeni IDE-sse laaditakse kõik need javascripti prototüübi laiendused ja seleen IDE tunneb need nime järgi ära.
Kuidas luua kasutaja laiendit
Samm 1) Toiming - kõigi toimingute algus on "do", st kui tegevus on mõeldud suurtähtedega, on selle nimi doTextUpperCase. Kui lisame selle toimemeetodi Selenium IDE-sse, loob Selenium IDE ise selle toimingu jaoks ootemeetodi. Nii et sel juhul, kui loome toimingu doTextUpperCase , loob Selenium IDE vastava ootefunktsiooni kui TextUpperCaseAndWait . See võib aktsepteerida kahte parameetrit
Näide: suurtähtede tekstitoiming
Selenium.prototype.doTextUpperCase = funktsioon (lokaator, tekst) {// Siin on findElement ise võimeline igat tüüpi lokaatoriga hakkama saama (xpath, css, nimi, id, className). Peame lihtsalt lokaatori teksti edastamavar element = see.leht (). findElement (lokaator);// Looge teksti sisestamiseks teksttekst = text.toUpperCase ();// Asendage elemendi tekst uue tekstigathis.page (). substitText (element, tekst);};
Samm 2) Hindajad / väide - kõik seleeniobjekti prototüübis registreeritud hindajad eesliidetakse
"get" või "on" Ex. getValueFromCompoundTable, isValueFromCompoundTable. See võib aktsepteerida kahte parameetrit, ühe sihtmärgi jaoks ja teise väärtusevälja jaoks.
Iga hindaja jaoks on olemas vastavad kontrollifunktsioonid, mille eesliide on "kinnita", "kinnita" ja ootefunktsiooni eesliide "ootFoor"
Näide: suurtähtede teksti hindajate jaoks
Selenium.prototype.assertTextUpperCase = funktsioon (lokaator, tekst) {// "findElement" haldab kõiki lokatori strateegiaid automaatseltvar element = see.leht (). findElement (lokaator);// Looge tekst kinnitamisekstekst = text.toUpperCase ();// Hangi elemendi tegelik väärtusvar actualValue = element.value;// Veenduge, et tegelik väärtus ühtiks oodatugaAssert.matches (eeldatav väärtus, tegelik väärtus);};Seleen.prototype.isTextEqual = funktsioon (lokaator, tekst) {tagastage see.getText (locator) .value === tekst;};Seleen.prototype.getTextValue = funktsioon (lokaator, tekst) {tagastage see.getText (locator) .value;};
Samm 3) Lokaatori strateegia - kui soovime elemendi leidmiseks luua oma funktsiooni
peame laiendama PageBoti prototüüpi funktsiooniga, mille eesliide on "locateElementBy".
Selleks on vaja kahte parameetrit: esiteks on lokeristring ja teiseks dokument
kus seda tuleb otsida.
Näide: suurtähtede tekstilokaatori jaoks
// "inDocument" on dokument, mida otsite.PageBot.prototype.locateElementByUpperCase = funktsioon (tekst, inDocument) {// Looge otsitav tekstvar eeldatavVäärtus = text.toUpperCase ();// Tutvuge kõigi elementidega, otsides neid, millel on// a väärtus === meie eeldatav väärtusvar allElements = inDocument.getElementsByTagName ("*");// See täht '*' on omamoodi regulaarne avaldis, mis läbib kõiki elemente (HTML DOM-is on igal elemendil kindlasti sildi nimi nagu , ,,
, , jne). Siin on meie motiiviks leida element, mis sobiks meie läbitud suurtähtetekstiga, nii et otsime seda kõigi elementidega ja kui vaste saame, on meil õige veebielement.for (var i = 0; i Kuidas kasutada äsjaloodud tuumilaiendit?
- Minge aadressile Selenium IDE
Klõpsake valikuid Valikud -> Valikud ...
- Jaotises Üldine valige vastloodud Seleeni südamiku laienduse asukoht
- Klõpsake nuppu OK ja taaskäivitage Selenium IDE
- Laienduse leiate käskude loendist
Siin on nimekiri Selenium IDE-s kasutatavatest populaarsetest laiendustest / pistikprogrammidest
Nimi Eesmärk Lemmikud Testipaketi lemmikuks märkimiseks ja ühe klõpsuga käivitamiseks Flex Pilot X Flex-põhise automatiseerimise jaoks FlexMonkium Adobe Flex-põhise salvestamise ja taasesituse testimiseks seleeni IDE-s Failide logimine Logide faili salvestamiseks Voolu juhtimine Testi täitmise voo juhtimiseks Esiletõstke elemendid Veebikontrolli esiletõstmiseks Kaudne ootamine Elemendi ootamine teatud ajapiirangu jaoks Ekraanipilt ebaõnnestus Tehke ebaõnnestumise kohta ekraanipilt Testi tulemused Salvestage testikomplekti testjuhtumi tulemus ühe klõpsuga Need kõik ja palju muud saate SeleniumHQ ametliku saidi allalaadimise jaotisest
http://docs.seleniumhq.org/download/
Kokkuvõte:
- Seal on kolm osa Seleeni IDE-st, tegevus, hindajad / väide, lokaliseerimisstrateegia.
- Kasutaja laiend luuakse, kui Selenium IDE ei vasta praegusele nõudele.
- Kasutaja laiendi loomiseks tuleb seleeni objekti prototüübile lisada javascript.
- Pärast laienduse loomist tuleb see lisada Selenium IDE-sse ja taaskäivitada IDE.
Laadige alla selles õpetuses kasutatud seleeni südamiku laiendus