Selenium Core Extensions (User-Extensions.js)

Obsah:

Anonim

Abychom pochopili rozšíření, pojďme nejprve porozumět třem pilířům IDE selenu

  1. Akce: Jakou operaci provádíte na obrazovce uživatelského rozhraní

  2. Posuzovatelé / tvrzení: Jaké ověření provedete u dat, která získáte z uživatelského rozhraní

  1. Strategie lokátoru: Jak můžeme najít prvek v uživatelském rozhraní.

Selenium IDE má nyní velmi vyspělou knihovnu se spoustou strategií akcí, tvrzení / posuzovatelů a lokátorů.

Někdy však potřebujeme přidat další funkce pro naše požadavky na projekt. V této situaci můžeme tuto knihovnu rozšířit přidáním vlastních rozšíření. Tato vlastní rozšíření se nazývají „User Extension“.

Například potřebujeme akci, která dokáže převést text na velká písmena před jeho vyplněním do webového prvku. Tuto akci nemůžete najít ve výchozí knihovně akcí. V takovém případě si můžete vytvořit vlastní „User Extension“. V tomto kurzu se naučíme, jak vytvořit uživatelské rozšíření pro převod textu na velká písmena

Požadavek na vytvoření uživatelského rozšíření Selenium:

Chcete-li vytvořit uživatelské rozšíření pro IDE selenu, potřebujeme znát základní koncept konceptu JavaScriptu a prototypu objektu Java Script.

Chcete-li vytvořit uživatelskou příponu, musíte vytvořit metody skriptu Java a přidat je do prototypu objektu selenu a prototypu objektu PageBot.

Jak Selenium IDE rozpoznává uživatelské rozšíření?

Po přidání User Extension do Selenium IDE při spuštění Selenium IDE se načtou všechna tato rozšíření v prototypu javascript a Selen IDE je rozpozná podle názvu.

Jak vytvořit uživatelskou příponu

Krok 1) Akce - všechny akce jsou spuštěny „do“, tj. Pokud je akce pro velký text, její název bude doTextUpperCase. Když přidáme tuto metodu akce do IDE Selenium, Selenium IDE samo o sobě vytvoří metodu čekání na tuto akci. Takže v tomto případě, když vytvoříme akci doTextUpperCase , Selenium IDE vytvoří odpovídající funkci čekání jako TextUpperCaseAndWait . Může přijmout dva parametry

Příklad: Akce s velkými písmeny

Selenium.prototype.doTextUpperCase = funkce (lokátor, text) {// Zde findElement je sám schopen zvládnout všechny typy lokátorů (xpath, css, name, id, className), stačí předat text lokátoruvar element = this.page (). findElement (lokátor);// Vytvořte text, který chcete psáttext = text.toUpperCase ();// Nahraďte text prvku novým textemthis.page (). replaceText (prvek, text);};

Krok 2) Hodnotitelé / Assertion- Všichni hodnotitelé registrovaní v prototypu objektu selenu budou mít předponu

pomocí „získat“ nebo „je“ př. Může přijímat dva parametry, jeden pro cílové a druhý pro hodnotové pole v testovacím případu.

U každého hodnotitele budou k dispozici odpovídající ověřovací funkce s předponou „verify“, „assert“ a předponou funkce čekání s „waitFor“

Příklad: Pro hodnotitele textu psaného velkými písmeny

Selenium.prototype.assertTextUpperCase = funkce (lokátor, text) {// Všechny lokační strategie jsou automaticky zpracovány pomocí „findElement“var element = this.page (). findElement (lokátor);// Vytvořte text k ověřenítext = text.toUpperCase ();// Získejte skutečnou hodnotu prvkuvar actualValue = element.value;// Ujistěte se, že skutečná hodnota odpovídá očekávané hodnotěAssert.matches (expectValue, actualValue);};Selenium.prototype.isTextEqual = funkce (lokátor, text) {vrátit this.getText (lokátor). hodnota === text;};Selenium.prototype.getTextValue = funkce (lokátor, text) {vrátit this.getText (locator) .value;};

Krok 3) Strategie lokátoru - Pokud si přejeme vytvořit vlastní funkci k vyhledání prvku, pak

musíme rozšířit prototyp PageBot o funkci s předponou "locateElementBy."

Bude to trvat dva parametry, první bude řetězec lokátoru a druhý bude dokument

kde je třeba ji hledat.

Příklad: Pro vyhledávač velkých písmen

// Dokument „inDocument“ je dokument, který prohledáváte.PageBot.prototype.locateElementByUpperCase = funkce (text, inDocument) {// Vytvořte text, který chcete vyhledatvar expectValue = text.toUpperCase ();// Procházejte všechny prvky a hledejte ty, které mají// a value === naše očekávaná hodnotavar allElements = inDocument.getElementsByTagName ("*");// Tato hvězda '*' je druh regulárního výrazu, který projde každým prvkem (v HTML DOM má každý prvek určitě název značky jako , ,

, , ,
atd.). Tady je naším motivem najít prvek, který se shoduje s textem velkých písmen, který jsme předali, takže jej prohledáme se všemi prvky a když získáme shodu, budeme mít správný webový prvek.for (var i = 0; i

Jak používat nově vytvořené rozšíření jádra?

  1. Přejít na IDE selenu

    Klikněte na Možnosti -> Možnosti ...

  1. V sekci Obecné vyberte umístění nově vytvořeného rozšíření Selenium Core

  2. Klikněte na OK a restartujte IDE selenu

  1. Příponu najdete v seznamu příkazů

Zde je seznam populárních rozšíření / doplňků používaných v Selenium IDE

název Účel
Oblíbené Chcete-li označit testovací sadu jako oblíbenou a spustit ji jediným kliknutím
Flex Pilot X Pro automatizaci založenou na Flex
FlexMonkium Pro testování a přehrávání založené na Adobe Flex v Selenium IDE
Protokolování souborů Pro ukládání protokolů do souboru
Řízení toku Řízení toku provádění testu
Zvýrazněte prvky Chcete-li zvýraznit ovládací prvek webu
Implicitní počkat Čekat na prvek po určitou dobu
ScreenShot on Fail Při selhání pořiďte snímek obrazovky
Výsledky testů Jedním kliknutím uložte výsledek testovacího případu pro testovací sadu

Tyto a mnoho dalšího získáte v sekci pro stahování oficiálních stránek SeleniumHQ

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

Souhrn:

  • Existují tři části strategie Selen IDE, Action, Assessors / Assertion, Locator strategy.
  • Uživatelské rozšíření je vytvořeno, když Selenium IDE nesplňuje aktuální požadavek.
  • Chcete-li vytvořit uživatelskou příponu, je nutné přidat prototyp objektu selenu do JavaScriptu.
  • Po vytvoření rozšíření je nutné jej přidat do Selenium IDE a restartovat IDE.

Stáhněte si rozšíření Selenium Core použité v tomto výukovém programu