Razširitve jedra selena (User-Extensions.js)

Kazalo:

Anonim

Da bi razumeli razširitve, najprej razumemo tri stebre selena IDE

  1. Ukrep: Katero operacijo izvajate na zaslonu uporabniškega vmesnika

  2. Ocenjevalci / trditev: Kakšno preverjanje opravite na podatkih, ki jih dobite iz uporabniškega vmesnika

  1. Locator Strategy: Kako lahko najdemo element v uporabniškem vmesniku.

Zdaj ima Selenium IDE zelo zrelo knjižnico z obilico akcij, trditev / ocenjevalcev in lokacijskih strategij.

Toda včasih mu moramo dodati nekaj več funkcionalnosti za naše projektne zahteve. V tem primeru lahko knjižnico razširimo z dodajanjem razširitev po meri. Te razširitve po meri se imenujejo „Uporabniške razširitve“.

Na primer, potrebujemo dejanje, ki lahko besedilo pretvori v velike črke, preden ga vnesemo v spletni element. Tega dejanja ne najdete v privzeti knjižnici akcij. V tem primeru lahko ustvarite svojo "Uporabniško razširitev". V tej vadnici bomo izvedeli, kako ustvariti uporabniško razširitev za pretvorbo besedila v velike črke

Zahteva za ustvarjanje uporabniške razširitve Selenium:

Če želite ustvariti uporabniško razširitev za Selenium IDE, moramo poznati osnovni koncept koncepta objektov JavaScript in Java Script.

Če želite ustvariti svojo uporabniško razširitev, morate ustvariti metode skripta Java in jih dodati prototipu predmeta selenium in prototipu predmeta PageBot.

Kako Selenium IDE prepozna uporabniško razširitev?

Po dodajanju uporabniške razširitve v selenium IDE, ko zaženemo selenium IDE, se naložijo vse te razširitve v prototipu javascript in selenium IDE jih prepozna po njihovem imenu.

Kako ustvariti uporabniško razširitev

Korak 1) Dejanje - vsa dejanja se začnejo z »do«, tj. Če je dejanje za besedilo z velikimi črkami, bo njegovo ime doTextUpperCase. Ko dodamo to metodo dejanja v Selenium IDE, bo Selenium IDE sam ustvaril čakalno metodo za to dejanje. Torej, v tem primeru, ko ustvarimo dejanje doTextUpperCase , bo Selenium IDE ustvaril ustrezno funkcijo čakanja kot TextUpperCaseAndWait . Sprejema lahko dva parametra

Primer: Akcija besedila z velikimi črkami

Selenium.prototype.doTextUpperCase = funkcija (lokator, besedilo) {// Tukaj je findElement sposoben sam obdelovati vse vrste lokatorjev (xpath, css, name, id, className), samo predati moramo besedilo lokatorjavar element = this.page (). findElement (locator);// Ustvari besedilo za tipkanjetext = text.toUpperCase ();// Besedilo elementa zamenjamo z novim besedilomthis.page (). replaceText (element, besedilo);};

Korak 2) Ocenjevalci / trditev - vsi ocenjevalci, registrirani v prototipu selena, bodo imeli predpono

z "get" ali "is" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Lahko sprejme dva parametra, enega za ciljno in drugega za polje vrednosti v testnem primeru.

Za vsakega ocenjevalca so ustrezne funkcije preverjanja s predpono »preverjanje«, »uveljavitev« in predpono funkcije čakanja z »počakajte«.

Primer: Za ocenjevalce besedila z velikimi črkami

Selenium.prototype.assertTextUpperCase = funkcija (lokator, besedilo) {// Vse strategije lokatorja samodejno obdelajo "findElement"var element = this.page (). findElement (locator);// Ustvari besedilo za preverjanjetext = text.toUpperCase ();// Pridobimo dejansko vrednost elementavar actualValue = element.value;// Prepričajte se, da se dejanska vrednost ujema s pričakovanoAssert.matches (pričakovana vrednost, dejanska vrednost);};Selenium.prototype.isTextEqual = funkcija (lokator, besedilo) {vrni this.getText (lokator) .value === besedilo;};Selenium.prototype.getTextValue = funkcija (lokator, besedilo) {vrni this.getText (locator) .value;};

3. korak) Strategija lokatorja - če želimo ustvariti lastno funkcijo za iskanje elementa, potem

prototip PageBot moramo razširiti s funkcijo s predpono "locateElementBy."

Potrebna bosta dva parametra, prvi bo niz lokatorja, drugi pa dokument

kjer ga je treba iskati.

Primer: za iskalnik velikih črk

// "inDocument" je dokument, ki ga iščete.PageBot.prototype.locateElementByUpperCase = funkcija (besedilo, inDocument) {// Ustvari besedilo za iskanjevar pričakovana vrednost = text.toUpperCase ();// Preglejte vse elemente in poiščite tiste, ki jih imajo// vrednost === naša pričakovana vrednostvar allElements = inDocument.getElementsByTagName ("*");// Ta zvezda '*' je neke vrste regularni izraz, ki bo šel skozi vsak element (v HTML DOM ima vsak element zagotovo ime oznake, kot so , ,

, , ,
itd.). Tu je naš motiv najti element, ki se ujema z besedilom velike črke, ki smo ga prenesli, zato ga bomo iskali z vsemi elementi in ko bomo dobili ujemanje, bomo imeli pravi spletni element.for (var i = 0; i

Kako uporabiti novo ustvarjeno razširitev jedra?

  1. Pojdite na Selenium IDE

    Kliknite Možnosti -> Možnosti ...

  1. V razdelku Splošno izberite mesto novo ustvarjene razširitve jedra Selenium

  2. Kliknite V redu in znova zaženite Selenium IDE

  1. Razširitev najdete na seznamu ukazov

Tu je seznam priljubljenih razširitev / vtičnikov, uporabljenih v programu Selenium IDE

Ime Namen
Priljubljene Če želite testni paket označiti kot priljubljenega in ga izvesti z enim klikom
Flex Pilot X Za Flex avtomatizacijo
FlexMonkium Za preskušanje snemanja in predvajanja na osnovi Adobe Flex v selenium IDE
Dnevnik datotek Za shranjevanje dnevnikov v datoteki
Nadzor toka Za nadzor poteka izvedbe testa
Označite elemente Če želite poudariti spletni nadzor
Implicitno počakajte Počakati na element določeno časovno omejitev
Posnetek zaslona ob neuspehu Posnemite posnetek zaslona ob neuspehu
Rezultati testov Shranite rezultat testnega primera za testni paket z enim klikom

Vse te in še veliko več lahko dobite v razdelku za prenos uradne strani SeleniumHQ

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

Povzetek:

  • Obstajajo trije deli selenium IDE, Action, Assessors / Assertion, Locator strategije.
  • Uporabniška razširitev se ustvari, ko Selenium IDE ne izpolnjuje trenutnih zahtev.
  • Če želite ustvariti uporabniško razširitev, morate v prototip predmeta selena dodati javascript.
  • Po izdelavi razširitve jo morate dodati v selenium IDE in znova zagnati IDE.

Prenesite razširitev jedra Selenium, uporabljeno v tej vadnici