Uložit proměnné, Echo, Alert, PopUp manipulace v Selenium IDE
⚡ Chytré shrnutí
Uložit příkazy do Selenium IDE ukládá běhové hodnoty do pojmenovaných proměnných, echo je vypisuje do protokolu a specializovaná rodina příkazů zpracovává upozornění, potvrzovací dialogy a přepínání mezi více okny prohlížeče.

V tomto tutoriálu se naučíte příkazy store, příkaz echo a práci s upozorněními a vyskakovacími okny. Selenium IDETyto příkazy dohromady promění pevně zaznamenaný skript ve skript, který reaguje na cokoli, co aplikace vrátí za běhu.
⚠️ Poznámka k verzím: Níže uvedené snímky obrazovky pocházejí z originálu Firefox-plugin Selenium IDE a příkazy používají jeho názvy v camelCase Selenese. Aktuální Chrome, Firefox a rozšíření Edge si zachovává stejné chování, ale většinu názvů příkazů zapisuje s mezerami. Mapaping Tabulka se zobrazí ke konci tohoto článku a každý původní příkaz a snímek obrazovky je zachován tak, jak byl publikován.
Selenium Proměnné IDE
Obchod
Chcete-li uložit proměnné Selenium IDE, používáme uložit příkaz. Níže uvedený obrázek ukládá hodnotu „tutorial“ do proměnné s názvem „myVariable“.
Pro přístup k proměnné ji jednoduše uzavřete do symbolu ${ … }. Například pro zadání hodnoty „myVariable“ do textového pole „userName“ v Mercury Prohlídky, do pole Hodnota zadejte ${myVariable}.
Příkaz Echo v Selenium IDE
Uložená proměnná je neviditelná, dokud ji něco nevypíše, a to je to, co minout příkaz to dělá. Během přehrávání zapíše zprávu do panelu protokolu IDE, což z něj činí nejrychlejší způsob, jak ověřit, zda příkaz store zachytil očekávání, než na něm vytvoříte asserce.
Příkaz přijímá jeden z těchto formátů:
- Doslovný řetězec. Vložte text do Target pole, například Krok přihlášení dokončen, pro označení kontrolního bodu v dlouhém skriptu.
- Proměnná. Vložte ${myVariable} do Target pole a místo názvu se vypíše uložená hodnota.
Dva zvyky dělají příkaz echo mnohem užitečnějším, než se na první pohled zdá. Vytiskněte proměnnou ihned za příkazem store, který ji vytváří, takže selhání je... track zachycení, nikoli k aserci o dvacet kroků dále. A před každou zprávu přidejte krok, ke kterému patří, protože panel protokolu zobrazuje všechny příkazy v jednom plochém seznamu. Všimněte si, že echo zapisuje pouze do protokolu – nikdy nezmění stránku a nikdy neselže test, takže je bezpečné jej ve skriptu trvale ponechat.
StoreElementPresent
Tento příkaz ukládá buď „true“, nebo „false“ v závislosti na přítomnosti zadaného prvku. Následující skript ukládá booleovskou hodnotu „true“ do „var1“ a „false“ do „var2“. Pro ověření použijeme příkaz echo k zobrazení hodnot var1 a var2. Základ URL pro níže uvedenou ilustraci byla nastavena na Mercury Domovská stránka prohlídek.
StoreText
Tento příkaz se používá k uložení vnitřního textu elementu do proměnné. Níže uvedený obrázek ukládá vnitřní text tagu h1 na registrační stránce Facebooku do proměnné s názvem „textVar“.
Protože se jedná o jediný prvek svého druhu na stránce, můžeme bezpečně použít „css=h1“ jako náš cíl. Obrázek níže to ukazuje. Selenium IDE dokázalo uložit řetězec „Sign Up“ do proměnné „textVar“, protože echo správně vypsalo její hodnotu.
Upozornění, vyskakovací okna a vícenásobné Windows
Upozornění jsou pravděpodobně nejjednodušší formou vyskakovacího okna. Nejběžnější Selenium Příkazy IDE používané při zpracování výstrah jsou následující:
| Upozornění | použití |
|---|---|
|
sustainAlert claimNotAlert |
načte zprávu upozornění a porovná ji s zadanou řetězcovou hodnotou |
|
sustainAlertPresent claimAlertNotPresent |
potvrzuje, zda je přítomno upozornění či nikoli |
| storeAlert | načte výstražnou zprávu a uloží ji do proměnné, kterou zadáte |
| storeAlertPresent | vrací TRUE, pokud je přítomno upozornění, jinak FALSE |
|
ověřitAlert ověřitNotAlert |
načte zprávu upozornění a ověří, zda se rovná zadané hodnotě řetězce. |
|
ověřitAlertPresent ověřitAlertNotPresent |
ověřuje, zda je přítomno upozornění či nikoli |
Při práci s upozorněními pamatujte na tyto dvě věci:
- Selenium IDE automaticky klikne na tlačítko OK v okně s upozorněním, takže samotné upozornění neuvidíte.
- Selenium IDE nedokáže zpracovat upozornění, která se spustí uvnitř funkce onload() stránky. Zpracovává pouze upozornění generovaná po úplném načtení stránky.
V tomto příkladu používáme příkaz storeAlert k ukázání, že i když Selenium IDE sice nezobrazilo samotné upozornění, ale zprávu bylo stále schopno načíst.
Krok 1) In Selenium IDE, nastavte základnu URL na http://jsbin.com. Celý text URL je http://jsbin.com/usidix. Tyto úryvky jsbin pocházejí z Firefox-plugin éry a nemusí se již vyřešit; jakákoli stránka s tlačítkem, které vyvolá upozornění, reprodukuje stejný výsledek.
Krok 2) Vytvořte skript, jak je znázorněno níže. Příkaz click cílí na tlačítko Go!, storeAlert zachytí zprávu do alertMessage a echo ji vypíše.
Krok 3) Spusťte skript a neočekávejte zobrazení skutečného upozornění. V níže uvedeném panelu protokolu se zobrazuje zachycená zpráva, i když dialogové okno nebylo viditelné.
Potvrzení
Potvrzení jsou vyskakovací okna s tlačítky OK a ZRUŠIT, na rozdíl od upozornění, která zobrazují pouze tlačítko OK. Příkazy, které můžete použít při zpracování potvrzení, jsou stejné jako příkazy upozornění.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- storeConfirmation
- storeConfirmationPresent
- ověřitPotvrzení / ověřitNepotvrzení
- ověřitPotvrzeníPřítomné / ověřitPotvrzeníNepřítomné
Kromě toho tyto příkazy sdělují Selenium které tlačítko zvolit, OK nebo STORNO.
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- zvolteCancelOnNextConfirmation
Umístěte tyto příkazy před příkaz, který spustí potvrzovací okno, aby Selenium IDE předem ví, kterou možnost zvolit. Během provádění skriptu se opět nezobrazí potvrzovací okno.
Otestujme webovou stránku s tlačítkem, které bylo naprogramováno tak, aby hlásilo, zda uživatel stiskl OK nebo STORNO.
Krok 1) In Selenium IDE, nastavte základnu URL na http://jsbin.com. Celý text URL je http://jsbin.com/enifaf.
Krok 2) Vytvořte skript, jak je znázorněno níže. Tentokrát nejprve stiskneme tlačítko OK.
Krok 3) Spusťte skript a všimněte si, že se nezobrazuje skutečné potvrzení, ale webová stránka stále hlásí, které tlačítko Selenium Stisknuto IDE.
Krok 4) Nahraďte příkaz chooseOkOnNextConfirmation příkazem chooseCancelOnNextConfirmation a spusťte skript znovu. Stránka nyní hlásí opačnou volbu.
Násobek Windows
Pokud kliknete na odkaz, který otevře samostatné okno, musíte nejprve zadat pokyny Selenium IDE pro výběr daného okna před přístupem k prvkům uvnitř něj. Ve starším IDE se jako lokátor používá název okna.
Pro přepínání mezi okny používáme příkaz selectWindow.
Použijeme odkaz http://jsbin.com/ocinaj/1 s názvem „První okno“. Hypertextový odkaz „zde“ na této stránce otevře Facebook v novém okně a poté dáme pokyny Selenium IDE pro následující:
- Přeneste řízení z nadřazeného okna do nově spuštěného okna Facebooku pomocí příkazu selectWindow s názvem okna jako lokátorem.
- Ověřte název nového okna.
- Původní okno znovu vyberte pomocí příkazu selectWindow s cílem „null“.
- Ověřte název aktuálně vybraného okna.
Výše uvedený plán se promítá do zde uvedené čtyřkrokové sekvence.
Krok 1) Nastavte základnu URL na http://jsbin.com.
Krok 2) Vytvořte skript, jak je znázorněno níže.
Příkaz pause potřebujeme k vyčkání načtení nově spuštěného okna, než si budeme moci přečíst jeho název.
Krok 3) Spusťte skript. Všimněte si, že modelový případ úspěšně proběhlo, což znamená, že jsme byli schopni přepínat mezi okny a úspěšně ověřit jejich názvy.
Vždy pamatujte, že nastavení cíle selectWindow na „null“ automaticky vybere nadřazené okno – v tomto případě okno, ve kterém se nachází element „link=here“.
Poznámka: Facebook od vytvoření tohoto tutoriálu změnil název své stránky. Upravte odpovídajícím způsobem očekávaný název ve skriptu.
moderní Selenium Ekvivalenty těchto příkazů v IDE
Jedno Firefox-plugin IDE bylo vyřazeno z provozu, když Firefox přesunuto na architekturu WebExtensions a aktuální Chrome, Firefox a rozšíření Edge přejmenovalo většinu příkazů Selenese na řádkovaný tvar. Chování se nezměnilo, takže níže uvedená tabulka je vše, co potřebujete k přečtení výše uvedených skriptů v aktuální instalaci.
| Starší příkaz v tomto tutoriálu | Selenium Příkaz IDE |
|---|---|
| uložit | uložit |
| minout | minout |
| obchodText | uložit text |
| storeElementPresent | uložit prvek přítomný (nebo potvrdit prvek přítomný) |
| assertAlert / verifyAlert | uplatnění upozornění / ověření upozornění |
| chooseOkOnNextConfirmation | při dalším potvrzení zvolte OK |
| zvolteCancelOnNextConfirmation | při dalším potvrzení zvolte zrušení |
| selectWindow (cíl jako název) | vyberte okno s handle=${handle} |
Za zmínku stojí dva rozdíly. Prompts (názvy), kterými se starší článek nezabývá, nyní mají své vlastní příkazy: odpověď na další výzvu plánuje odpověď před zobrazením dialogu a Odpověď webdriveru na viditelné výzvě zadá do již otevřeného příkazového řádku. A přepínání oken se již nespoléhá na název stránky. Spusťte klika okna obchodu nejprve zachytit úchyt a poté přihrát handle=${vaseHandle} vybrat okno. Tato změna odstraňuje režim selhání popsaný ve výše uvedené poznámce, kdy web jednoduše přejmenuje svou stránku a skript přestane okno hledat. Oficiální Selenium Web projektu IDE vypíše kompletní aktuální sadu příkazů.













