Selenium Alapkiterjesztések (User-Extensions.js)

A kiterjesztések megértéséhez először is ismerjük meg a szelén IDE három pillérét

  1. Művelet: Milyen műveletet hajt végre a felhasználói felület képernyőjén

    Selenium Core Extensions

  2. Értékelők/Állítás: Milyen ellenőrzést hajt végre a felhasználói felülettől kapott adatokon

Selenium Core Extensions

  1. Kereső stratégia: Hogyan találhatjuk meg az elemet a felhasználói felületen.

Selenium Core Extensions

Most, Selenium Az IDE egy nagyon kiforrott könyvtárral rendelkezik, amely rengeteg műveletet, állítást/értékelőt és lokációs stratégiát tartalmaz.

Néha azonban további funkciókat kell hozzáadnunk a projekt követelményeihez. Ebben a helyzetben kibővíthetjük ezt a könyvtárat egyéni bővítményeink hozzáadásával. Ezeket az egyéni bővítményeket "Felhasználói bővítménynek" nevezik.

Például szükségünk van egy Műveletre, amely a szöveget nagybetűssé tudja alakítani, mielőtt egy webelembe kitölti. Ez a művelet nem található az alapértelmezett Műveletkönyvtárban. Ebben az esetben létrehozhat saját „Felhasználói bővítményt”. Ebben az oktatóanyagban megtanuljuk, hogyan hozhat létre felhasználói bővítményt a szöveg nagybetűssé alakításához

Létrehozási követelmény Selenium felhasználói kiterjesztés

Felhasználói bővítmény létrehozásához a következőhöz Selenium IDE, ismernünk kell az alapkoncepciót JavaForgatókönyv és a Java Szkript prototípus objektum koncepció.

Létrehozási követelmény Selenium felhasználói kiterjesztés

A felhasználói bővítmény létrehozásához létre kell hoznia Java script metódusokat, és adja hozzá őket a szelén objektum prototípusához és a PageBot objektum prototípusához.

Hogyan Selenium Az IDE felismeri a felhasználói kiterjesztést?

A felhasználói kiterjesztés hozzáadása után Selenium IDE, amikor elkezdjük Selenium IDE, ezek a kiterjesztések a javascript prototípusban betöltődnek, és Selenium Az IDE a nevükről ismeri fel őket.

Felhasználói bővítmény létrehozása

1. lépés) Művelet– minden művelet a „do”-val kezdődik, azaz ha a művelet nagybetűs szövegre vonatkozik, akkor a neve is lesz doTextUpperCase. Amikor hozzáadjuk ezt a műveleti metódust Selenium SDI, Selenium Az IDE maga hoz létre egy várakozási metódust ehhez a művelethez. Tehát ebben az esetben, amikor létrehozunk doTextUpperCase fellépés, Selenium Az IDE létrehoz egy megfelelő várakozási függvényt, mint TextUpperCaseAndWait. Két paramétert tud fogadni

Példa: nagybetűs szövegművelet

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

2. lépés) Értékelők/Állítás- A szelén objektum prototípusában regisztrált összes értékelő előtagot tartalmaz

a „get” vagy „is” kifejezéssel Pl. getValueFromCompoundTable , isValueFromCompoundTable . Két paramétert tud elfogadni, egyet a cél, a másikat pedig az értékmező számára tesztesetben.

Felhasználói bővítmény létrehozása

Minden Értékelőhöz a megfelelő ellenőrző függvények „ellenőrzés”, „érvényesítés” előtagja, a várakozás függvény pedig „waitFor” előtagja lesz.

Példa: Nagybetűs szövegértékelőknek

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

3. lépés) Kereső stratégia – Ha saját függvényt szeretnénk létrehozni egy elem megkeresésére, akkor

ki kell bővítenünk a PageBot prototípusát egy „locateElementBy” előtagú függvénnyel.

Két paraméter kell hozzá, az első a lokátor karakterlánc, a második pedig a dokumentum

ahol keresni kell.

Példa: Nagybetűs szövegkeresőhöz

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

Hogyan használható az újonnan létrehozott alapkiterjesztés?

  1. Tovább Selenium IDE

    Kattintson az Opciók -> Beállítások…

Használja az újonnan létrehozott alapkiterjesztést

  1. Az Általános részben válassza ki az újonnan létrehozott objektum helyét Selenium Core Extension

    Használja az újonnan létrehozott alapkiterjesztést

  2. Kattintson az OK gombra, és indítsa újra Selenium IDE

Használja az újonnan létrehozott alapkiterjesztést

  1. A kiterjesztés a parancslistában található

Használja az újonnan létrehozott alapkiterjesztést

Itt található a használt népszerű bővítmények/bővítmények listája Selenium IDE

Név Cél
Érdekes Egy tesztcsomag kedvencként való megjelölése és végrehajtása egyetlen kattintással
Flex Pilot X Flex alapú automatizáláshoz
FlexMonkium Adobe Flex alapú felvételhez és lejátszáshoz Tesztelés in Selenium IDE
Fájlnaplózás A naplók fájlba mentéséhez
flow Control A teszt végrehajtási folyamatának vezérléséhez
Jelölje ki az Elemeket Webes vezérlőelem kiemelése
Implicit várakozás Várni egy elemre egy bizonyos ideig
Képernyőkép sikertelenség esetén Készítsen képernyőképet a kudarcról
Vizsgálati eredmények Megtakarítás Teszt eset egy kattintással egy tesztcsomag eredménye

Ezeket mind és még sok mást beszerezhetsz innen SeleniumA HQ hivatalos webhelyének letöltési része

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

Összegzésként

  • Három része van Selenium IDE, Action, Assessors/Assertion, Locator stratégia.
  • A felhasználói bővítmény akkor jön létre, amikor Selenium Az IDE nem teljesíti a jelenlegi követelményt.
  • Felhasználói kiterjesztés létrehozásához hozzá kell adni a javascriptet a szelén objektum prototípusához.
  • A bővítmény létrehozása után hozzá kell adni Selenium IDE, és indítsa újra az IDE-t.

Töltse le a Selenium Ebben az oktatóanyagban használt alapkiterjesztés

Napi Guru99 hírlevél

Kezdje a napját a legfrissebb és legfontosabb mesterséges intelligenciával kapcsolatos hírekkel, amelyeket azonnal kézbesítünk.