Selenium Osnovna proširenja (User-Extensions.js)

Da bismo razumjeli proširenja, prvo ćemo razumjeti tri stupa selenium IDE

  1. Radnja: koju operaciju izvodite na UI zaslonu

    Selenium Core Extensions

  2. Procjenitelji/Tvrdnja: Koju provjeru provodite na podacima koje dobijete iz korisničkog sučelja

Selenium Core Extensions

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

Selenium Core Extensions

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

Ali ponekad mu trebamo dodati još neke funkcije za zahtjeve našeg projekta. U toj situaciji ovu biblioteku možemo proširiti dodavanjem naših prilagođenih proširenja. Ova prilagođena proširenja nazivaju se 'Korisnička proširenja'.

Na primjer, potrebna nam je radnja koja može pretvoriti tekst u velika slova prije nego što ga ispunimo u web elementu. Ne možete pronaći ovu radnju u zadanoj biblioteci radnji. U tom slučaju možete izraditi vlastito 'Korisničko proširenje'. U ovom vodiču naučit ćemo kako stvoriti korisničko proširenje za pretvaranje teksta u velika slova

Zahtjev za stvaranje Selenium korisničko proširenje

Za izradu korisničkog proširenja za Selenium IDE, moramo znati osnovni koncept JavaScript i Java Koncept objekta prototipa skripte.

Zahtjev za stvaranje Selenium korisničko proširenje

Da biste izradili svoje korisničko proširenje, morate izraditi Java metode skripte i dodajte ih u prototip objekta selenium i prototip objekta PageBot.

Kako Selenium IDE prepoznaje korisničko proširenje?

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

Kako stvoriti korisničko proširenje

Korak 1) Radnja– sve akcije se pokreću s “do”, tj. ako je akcija za tekst velikim slovima onda će biti i njen naziv doTextUpperCase. Kada dodamo ovu akcijsku metodu Selenium SDI, Selenium IDE će sam stvoriti metodu čekanja za ovu radnju. Dakle, u ovom slučaju kada stvaramo doTextUpperCase akcija, Selenium IDE će stvoriti odgovarajuću funkciju čekanja kao TextUpperCaseAndWait. Može prihvatiti dva parametra

Primjer: Radnja teksta velikim slovima

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);
    };

Korak 2) Procjenitelji/Tvrdnje- Svi procjenitelji registrirani u prototipu selenium objekta bit će prefiksirani

pomoću "dobi" ili "je" Npr. getValueFromCompoundTable, isValueFromCompoundTable. Može prihvatiti dva parametra, jedan za cilj, a drugi za polje vrijednosti u testnom slučaju.

Stvorite korisničko proširenje

Za svakog ocjenjivača postojat će odgovarajuće funkcije provjere s prefiksom "provjeri", "tvrditi" i prefiksom funkcije čekanja s prefiksom "čekaj"

Primjer: Za ocjenjivače teksta velikim slovima

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;
    };

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

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

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

gdje ga treba pretražiti.

Primjer: za lokator teksta velikim slovima

// 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;
    };

Kako koristiti novostvoreno osnovno proširenje?

  1. Idi na Selenium IDE

    Kliknite na Opcije -> Opcije…

Koristite novostvoreno proširenje jezgre

  1. U odjeljku Općenito odaberite lokaciju novostvorenog Selenium Core Extension

    Koristite novostvoreno proširenje jezgre

  2. Pritisnite OK i ponovno pokrenite Selenium IDE

Koristite novostvoreno proširenje jezgre

  1. Ekstenziju ćete pronaći na popisu naredbi

Koristite novostvoreno proširenje jezgre

Ovdje je popis popularnih proširenja/dodataka koji se koriste u Selenium IDE

Ime i Prezime Svrha
Omiljene Za označavanje paketa testova kao omiljenih i njihovo izvršavanje jednim klikom
Flex Pilot X Za automatizaciju temeljenu na Flexu
FlexMonkium Za snimanje i reprodukciju temeljeno na Adobe Flexu Ispitivanje in Selenium IDE
Zapisivanje datoteka Za spremanje zapisa u datoteku
Kontrola protoka Za kontrolu tijeka izvođenja testa
Označite elemente Za označavanje web kontrole
Implicitno čekanje Čekati element određeno vrijeme
Snimka zaslona pri neuspjehu Napravite snimku zaslona u slučaju neuspjeha
Rezultati ispitivanja UŠTEDI Testni slučaj rezultat za paket testova jednim klikom

Možete nabaviti sve ovo i još mnogo više od SeleniumOdjeljak za preuzimanje službene stranice HQ-a

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

rezime

  • Postoje tri dijela Selenium IDE, akcija, procjenitelji/tvrdnje, strategija lokatora.
  • Korisnička ekstenzija se stvara kada Selenium IDE ne ispunjava trenutni zahtjev.
  • Za izradu korisničkog proširenja potrebno je dodati javascript prototipu objekta selena.
  • Nakon izrade proširenja potrebno ga je dodati Selenium IDE i ponovno pokrenite IDE.

Preuzimanje Selenium Core Extension korišten u ovom vodiču