Proširenja jezgre selena (User-Extensions.js)

Da bismo razumjeli ekstenzije, dopustimo prvo razumjeti tri stupa selena IDE

  1. Akcija: Koju operaciju izvodite na zaslonu korisničkog sučelja

  2. Procjenitelji / tvrdnja: Koju provjeru vršite na podacima koje dobivate iz korisničkog sučelja

  1. Strategija lokatora: Kako možemo pronaći element u korisničkom sučelju.

Sada Selenium IDE ima vrlo zrelu biblioteku s puno akcija, tvrdnji / procjenitelja i strategija lokatora.

Ali ponekad mu trebamo dodati još neke funkcionalnosti za potrebe našeg projekta. U toj situaciji ovu biblioteku možemo proširiti dodavanjem prilagođenih proširenja. Ta se prilagođena proširenja nazivaju 'Korisničko proširenje'.

Na primjer, trebamo akciju koja tekst može pretvoriti u velika slova prije nego što ga ispunimo web elementom. Ovu akciju ne možete pronaći u zadanoj biblioteci akcija. U tom slučaju možete stvoriti vlastito 'Korisničko proširenje'. U ovom uputstvu naučit ćemo kako stvoriti korisničko proširenje za pretvaranje teksta u velika slova

Zahtjev za stvaranje korisničkog proširenja Selenium:

Da bismo kreirali korisničko proširenje za Selenium IDE, moramo znati osnovni koncept koncepta objekta JavaScript i Java Script.

Da biste kreirali svoje korisničko proširenje, morate stvoriti metode skripte Java i dodati ih prototipu objekta selenium i PageBot objektu.

Kako Selenium IDE prepoznaje korisničko proširenje?

Nakon dodavanja korisničkog proširenja u Selenium IDE kada pokrenemo Selenium IDE, sva se ova proširenja u prototipu javascripta učitavaju i Selenium IDE ih prepoznaje po imenu.

Kako stvoriti korisničko proširenje

Korak 1) Akcija - sve radnje započinje "do", tj. Ako je radnja za tekst velikih slova, naziv će joj biti doTextUpperCase. Kada dodamo ovu metodu radnje u Selenium IDE, Selenium IDE će sam stvoriti metodu čekanja za ovu radnju. Dakle, u ovom slučaju kada kreiramo akciju doTextUpperCase , Selenium IDE će stvoriti odgovarajuću funkciju čekanja kao TextUpperCaseAndWait . Može prihvatiti dva parametra

Primjer: Tekst velikih slova

Selenium.prototype.doTextUpperCase = funkcija (lokator, tekst) {// Ovdje je findElement sam sposoban za obradu svih vrsta lokatora (xpath, css, name, id, className), samo trebamo proslijediti tekst lokatoravar element = this.page (). findElement (locator);// Stvaranje teksta za upisivanjetext = text.toUpperCase ();// Zamijenite tekst elementa novim tekstomthis.page (). replaceText (element, tekst);};

Korak 2) Procjenitelji / tvrdnja - Svi procjenitelji registrirani u prototipu selenovog objekta bit će s predfiksom

"get" ili "is" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Može prihvatiti dva parametra, jedan za cilj i drugi za polje vrijednosti u testnom slučaju.

Za svakog procjenitelja postojat će odgovarajuće funkcije provjere s prefiksom "verify", "assert", a prefiks funkcije wait s "waitFor"

Primjer: Za procjenitelje teksta velikih slova

Selenium.prototype.assertTextUpperCase = funkcija (lokator, tekst) {// "Pronađi element" automatski obrađuje sve strategije lokatoravar element = this.page (). findElement (locator);// Stvorimo tekst za provjerutext = text.toUpperCase ();// Dobivanje stvarne vrijednosti elementavar actualValue = element.value;// Provjerite odgovara li stvarna vrijednost očekivanojAssert.matches (očekivana vrijednost, stvarna vrijednost);};Selenium.prototype.isTextEqual = funkcija (lokator, tekst) {vrati this.getText (lokator) .value === tekst;};Selenium.prototype.getTextValue = funkcija (lokator, tekst) {vrati this.getText (locator) .value;};

Korak 3) Strategija lokatora - Ako tada želimo stvoriti vlastitu funkciju za lociranje elementa

trebamo proširiti prototip PageBot funkcijom s prefiksom "locateElementBy."

Potrebna su dva parametra, prvi će biti niz lokatora, a drugi dokument

gdje je treba pretražiti.

Primjer: za lokator teksta velikih slova

// "InDocument" je dokument koji tražite.PageBot.prototype.locateElementByUpperCase = funkcija (tekst, inDocument) {// Stvaranje teksta za traženjevar očekujeValue = text.toUpperCase ();// Prelistaj sve elemente, tražeći one koji jesu// vrijednost === naša očekivana vrijednostvar allElements = inDocument.getElementsByTagName ("*");// Ova zvijezda '*' vrsta je regularnog izraza koji će proći kroz svaki element (u HTML DOM-u svaki element zasigurno ima naziv oznake poput , ,

, , ,
itd.). Ovdje je naš motiv pronaći element koji se podudara s velikim slovom koji smo prošli, pa ćemo ga pretražiti sa svim elementima, a kada dobijemo podudaranje imat ćemo ispravan web element.for (var i = 0; i

Kako koristiti novostvoreno jezgreno proširenje?

  1. Idite na Selenium IDE

    Kliknite Opcije -> Opcije ...

  1. U odjeljku Općenito odaberite mjesto novostvorenog proširenja jezgre Selenium

  2. Kliknite U redu i ponovo pokrenite Selenium IDE

  1. Proširenje ćete pronaći na popisu naredbi

Evo popisa popularnih proširenja / dodataka koji se koriste u Selenium IDE-u

Ime Svrha
Favoriti Da biste testni paket označili kao omiljeni i izvršili ih jednim klikom
Flex Pilot X Za Flex automatizaciju
FlexMonkium Za testiranje snimanja i reprodukcije temeljeno na Adobe Flexu u selenium IDE-u
Zapisivanje datoteka Za spremanje zapisnika u datoteku
Kontrola protoka Za kontrolu tijeka izvršavanja testa
Istakni elemente Da biste istaknuli web kontrolu
Implicitno čekanje Da se element pričeka određeno vrijeme
Snimka zaslona na neuspjehu Snimite snimku zaslona u slučaju neuspjeha
Rezultati ispitivanja Spremite rezultat test slučaja za testni paket jednim klikom

Sve to i još mnogo toga možete dobiti u odjeljku za preuzimanje službene web stranice SeleniumHQ

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

Sažetak:

  • Postoje tri dijela Selenium IDE, Action, Assessors / Assertion, Locator strategije.
  • Korisničko proširenje stvara se kada Selenium IDE ne ispunjava trenutni zahtjev.
  • Za stvaranje korisničkog proširenja potrebno je dodati javascript prototipu selenovog objekta.
  • Nakon stvaranja proširenja, potrebno ga je dodati u Selenium IDE i ponovno pokrenuti IDE.

Preuzmite proširenje jezgre Selenium korišteno u ovom vodiču

Zanimljivi članci...