Selenium Ydinlaajennukset (User-Extensions.js)

Laajennusten ymmärtämiseksi on ensin ymmärrettävä seleeni-IDE:n kolme pilaria

  1. Toimi: mitä toimintoa suoritat käyttöliittymän näytöllä

    Selenium Ydinlaajennukset

  2. Arvioijat/vahvistus: Minkä vahvistuksen teet käyttöliittymästä saamillesi tiedoille

Selenium Ydinlaajennukset

  1. Paikannusstrategia: Kuinka löydämme elementin käyttöliittymästä.

Selenium Ydinlaajennukset

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.

Luomisen vaatimus Selenium käyttäjälaajennus

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.

Luo käyttäjälaajennus

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?

  1. Mene Selenium IDE

    Napsauta Asetukset -> Asetukset…

Käytä juuri luotua ydinlaajennusta

  1. Valitse Yleiset-osiossa juuri luodun sijainti Selenium Ydinlaajennus

    Käytä juuri luotua ydinlaajennusta

  2. Napsauta OK ja käynnistä uudelleen Selenium IDE

Käytä juuri luotua ydinlaajennusta

  1. Löydät laajennuksen komentoluettelosta

Käytä juuri luotua ydinlaajennusta

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