Seleno šerdies plėtiniai („User-Extensions.js“)

Turinys:

Anonim

Norėdami suprasti plėtinius, pirmiausia supraskite tris seleno IDE atramas

  1. Veiksmas: kokią operaciją atliekate vartotojo sąsajos ekrane

  2. Vertintojai / tvirtinimas: kokį patikrinimą atliekate iš vartotojo sąsajos gautų duomenų atžvilgiu

  1. Vietos nustatymo strategija: kaip mes galime rasti elementą vartotojo sąsajoje.

Dabar „Selenium IDE“ yra labai subrendusi biblioteka, kurioje yra daugybė veiksmų, teiginių / vertintojų ir vietos nustatymo strategijų.

Tačiau kartais mes turime pridėti dar keletą funkcionalumų, kad atitiktų mūsų projekto reikalavimus. Tokiu atveju šią biblioteką galime išplėsti pridėdami savo tinkintus plėtinius. Šie tinkinti plėtiniai vadinami „Vartotojo plėtiniais“.

Pvz., Mums reikia veiksmo, kuris, prieš užpildydamas žiniatinklio elementą, gali konvertuoti tekstą į didžiąsias raides. Negalite rasti šio veiksmo numatytojoje veiksmų bibliotekoje. Tokiu atveju galite sukurti savo „Vartotojo plėtinį“. Šioje pamokoje sužinosime, kaip sukurti vartotojo plėtinį, norint konvertuoti tekstą į didžiąją raidę

Reikalavimas sukurti „Selenium“ vartotojo plėtinį:

Norėdami sukurti „Selenium IDE“ vartotojo plėtinį, turime žinoti pagrindinę „JavaScript“ ir „Java Script“ objekto prototipo koncepciją.

Norėdami sukurti savo vartotojo plėtinį, turite sukurti „Java“ scenarijų metodus ir pridėti juos prie seleno objekto prototipo ir „PageBot“ objekto prototipo.

Kaip „Selenium IDE“ atpažįsta vartotojo plėtinį?

Pridėjus vartotojo plėtinį prie „Selenium IDE“, kai paleidžiame „Selenium IDE“, visi šie „javascript“ prototipo plėtiniai įkeliami, o „Selenium IDE“ juos atpažįsta pagal savo vardą.

Kaip sukurti vartotojo plėtinį

1 veiksmas) Veiksmas - visus veiksmus pradeda „do“, ty jei veiksmas skirtas didžiosioms raidėms, jo pavadinimas bus „ doTextUpperCase“. Kai „Selenium IDE“ pridėsime šį veiksmo metodą, „Selenium IDE“ pati sukurs šio veiksmo laukimo metodą. Taigi šiuo atveju, kai sukursime „ doTextUpperCase“ veiksmą, „Selenium IDE“ sukurs atitinkamą laukimo funkciją kaip „ TextUpperCaseAndWait“ . Jis gali priimti du parametrus

Pavyzdys: didžiųjų raidžių teksto veiksmas

Selenium.prototype.doTextUpperCase = funkcija (lokatorius, tekstas) {// Čia „findElement“ gali tvarkyti visus lokatoriaus tipus („xpath“, „css“, „name“, „id“, „className“). Mes tiesiog turime perduoti lokatoriaus tekstąvar element = this.page (). findElement (lokatorius);// Sukurkite tekstą, kurį norite įvestitekstas = text.toUpperCase ();// Pakeiskite elemento tekstą nauju tekstuthis.page (). pakeistiText (elementas, tekstas);};

2 žingsnis) Vertintojai / tvirtinimas - visi vertintojai, užregistruoti seleno objekto prototipe, bus su priešdėliais

pagal „get“ arba „is“ yra „Ex. getValueFromCompoundTable, isValueFromCompoundTable. Jis gali priimti du parametrus, vieną tikslui ir kitą vertės laukui bandymo atveju.

Kiekvienam vertintojui bus pateiktos atitinkamos patikrinimo funkcijos, prieš kurias įrašyta „patikrinti“, „tvirtinti“, o laukimo funkcijos priešdėlis - „waitFor“.

Pavyzdys: didžiųjų raidžių teksto vertintojams

Selenium.prototype.assertTextUpperCase = funkcija (lokatorius, tekstas) {// „FindElement“ automatiškai tvarko visas lokatoriaus strategijasvar element = this.page (). findElement (lokatorius);// Sukurkite tekstą, kurį norite patikrintitekstas = text.toUpperCase ();// Gaukite faktinę elemento vertęvar actualValue = element.value;// Įsitikinkite, kad faktinė vertė atitinka laukiamą„Assert.matches“ (numatomaVertė, faktinėVertė);};Selenium.prototype.isTextEqual = funkcija (lokatorius, tekstas) {grąžinkite šį.getText (lokatorius) .value === tekstą;};Selenium.prototype.getTextValue = funkcija (lokatorius, tekstas) {grąžinkite šį.getText (lokatorius) .value;};

3 žingsnis) Vietos nustatymo strategija - jei norime sukurti savo funkciją, norėdami rasti elementą

turime išplėsti „PageBot“ prototipą su funkcija su priešdėliu „locateElementBy“.

Tam reikės dviejų parametrų: pirma bus lokatoriaus eilutė, o antra - dokumentas

kur jo reikia ieškoti.

Pavyzdys: didžiųjų raidžių teksto lokatoriui

// „inDocument“ yra dokumentas, kurio ieškote.PageBot.prototype.locateElementByUpperCase = funkcija (tekstas, inDocument) {// Sukurkite ieškomą tekstąvar numatytasValue = text.toUpperCase ();// Peržiūrėkite visus elementus, ieškodami tų, kurie turi// a vertė === mūsų laukiama vertėvar allElements = inDocument.getElementsByTagName ("*");// Ši žvaigždutė „*“ yra tam tikra reguliarioji išraiška, kuri eis per kiekvieną elementą (HTML DOM kiekvienas elementas tikrai turi žymos pavadinimą, pvz., , ,

, , ,
ir kt.). Čia mūsų motyvas yra rasti elementą, kuris atitiktų viršutinės bylos tekstą, kurį mes perdavėme, todėl ieškosime jo su visais elementais, o kai atitiksime, turėsime teisingą interneto elementą.for (var i = 0; i

Kaip naudoti naujai sukurtą pagrindinį plėtinį?

  1. Eikite į „Selenium IDE“

    Spustelėkite Parinktys -> Parinktys ...

  1. Skiltyje Bendra pasirinkite naujai sukurto „Selenium Core“ plėtinio vietą

  2. Spustelėkite Gerai ir paleiskite „Selenium IDE“ iš naujo

  1. Plėtinį rasite komandų sąraše

Čia yra populiariausių „Selenium IDE“ naudojamų plėtinių / papildinių sąrašas

vardas Tikslas
Mėgstamiausi Norėdami pažymėti testų rinkinį kaip mėgstamiausią ir įvykdyti juos vienu paspaudimu
„Flex Pilot X“ „Flex“ pagrindu veikiančiai automatikai
„FlexMonkium“ „Adobe Flex“ pagrindu atliekant įrašymo ir atkūrimo bandymus „Selenium IDE“
Failų registravimas Norėdami įrašyti žurnalus į failą
Srauto valdymas Norėdami kontroliuoti bandymo vykdymo srautą
Paryškinkite elementus Norėdami paryškinti žiniatinklio valdiklį
Numanomas laukimas Laukti elemento tam tikrą laiką
Ekrano kopija nepavyko Padarykite ekrano kopiją apie nesėkmę
Testo rezultatai Vienu paspaudimu išsaugokite testo rinkinio „Test Case“ rezultatą

Visa tai ir dar daugiau galite gauti iš „SeleniumHQ“ oficialios svetainės atsisiuntimo skyriaus

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

Santrauka:

  • Yra trys Seleno IDE, veiksmo, vertintojų / tvirtinimo, lokatoriaus strategijos dalys.
  • Vartotojo plėtinys sukuriamas, kai „Selenium IDE“ neatitinka dabartinio reikalavimo.
  • Norint sukurti vartotojo plėtinį, prie seleno objekto prototipo reikia pridėti „javascript“.
  • Sukūrus plėtinį, reikia jį pridėti prie „Selenium IDE“ ir paleisti iš naujo.

Atsisiųskite „Selenium Core“ plėtinį, naudojamą šioje pamokoje