Jako testovanou webovou aplikaci budeme používat web Mercury Tours. Jedná se o online rezervační systém letů, který obsahuje všechny prvky, které pro tento tutoriál potřebujeme. Jeho URL je http://demo.guru99.com/test/newtours/ a toto bude naše základní URL.
Vytvořte skript nahráváním
Vytvořme nyní náš první testovací skript v selenovém IDE pomocí nejběžnější metody - nahráváním. Poté provedeme náš skript pomocí funkce přehrávání.
Krok 1
- Spusťte Firefox a Selenium IDE.
- Zadejte hodnotu pro naši základní adresu URL: http://demo.guru99.com/test/newtours/.
- Zapněte tlačítko Záznam (pokud ještě není ve výchozím nastavení zapnuto).
Krok 2
Ve Firefoxu přejděte na http://demo.guru99.com/test/newtours/. Firefox by vás měl přesměrovat na stránku podobnou té, která je uvedena níže. |
|
Krok 3
|
|
Krok 4
|
|
Krok 5
|
|
Krok 6
Chcete-li zastavit nahrávání, vypněte tlačítko nahrávání. Váš skript by nyní měl vypadat jako ten, který je zobrazen níže. |
|
Krok 7
Teď, když jsme hotovi s naším testovacím skriptem, uložíme ho do testovacího případu. V nabídce Soubor vyberte možnost „Uložit testovací případ“. Případně můžete jednoduše stisknout Ctrl + S. |
|
Krok 8
|
|
Krok 9.
Všimněte si, že soubor byl uložen jako HTML. |
Krok 10.
Vraťte se do Selenium IDE a kliknutím na tlačítko Přehrát spusťte celý skript. Selen IDE by mělo být schopné replikovat vše bezchybně.
Úvod do příkazů selenu - selenština
- Selenské příkazy mohou mít maximálně dva parametry: cíl a hodnotu.
- Parametry nejsou vždy vyžadovány. Záleží na tom, kolik bude příkaz potřebovat.
3 typy příkazů
Akce |
Jedná se o příkazy, které přímo interagují s prvky stránky. Příklad: příkaz „kliknout“ je akce, protože přímo komunikujete s prvkem, na který klikáte. Příkaz „typ“ je také akce, protože vkládáte hodnoty do textového pole a textové pole vám je na oplátku zobrazí. Mezi vámi a textovým polem existuje obousměrná interakce. |
Přistupující osoby |
Jsou to příkazy, které vám umožňují ukládat hodnoty do proměnné. Příklad: příkaz „storeTitle“ je přístupový objekt, protože pouze „čte“ nadpis stránky a ukládá jej do proměnné. Neinteraguje s žádným prvkem na stránce. |
Tvrzení |
Jsou to příkazy, které ověřují, zda je splněna určitá podmínka. 3 typy tvrzení
|
Assert vs. Verify
Společné příkazy
Příkaz | Počet parametrů | Popis |
---|---|---|
otevřeno | 0 - 2 |
Otevře stránku pomocí adresy URL. |
click / clickAndWait | 1 |
Klikne na zadaný prvek. |
typ / typKlíče | 2 |
Zadá posloupnost znaků. |
verifyTitle / assertTitle | 1 |
Porovná skutečný název stránky s očekávanou hodnotou. |
verifyTextPresent | 1 |
Zkontroluje, zda se na stránce nachází určitý text. |
verifyElementPresent | 1 |
Zkontroluje přítomnost určitého prvku. |
ověřitTabulka | 2 |
Porovná obsah tabulky s očekávanými hodnotami. |
waitForPageToLoad | 1 |
Pozastaví provádění, dokud se stránka nenačte úplně. |
waitForElementPresent | 1 |
Pozastaví provádění, dokud nebude uveden zadaný prvek. |
Vytvořte skript ručně pomocí Firebug
Nyní vytvoříme stejný testovací případ ručně zadáním příkazů. Tentokrát budeme muset použít Firebug.
Krok 1
|
Krok 2: Klikněte na nejvyšší prázdný řádek v editoru. |
Do textového pole Příkaz zadejte „otevřít“ a stiskněte klávesu Enter. |
Krok 3
|
Krok 4
|
Krok 5
|
Klikněte na textové pole Uživatelské jméno. Všimněte si, že Firebug vám automaticky zobrazí HTML kód pro tento prvek. |
Krok 6
Všimněte si, že textové pole Uživatelské jméno nemá ID, ale má atribut NAME. Proto budeme jako vyhledávač používat jeho NÁZEV. Zkopírujte hodnotu JMÉNO a vložte ji do pole Cíl v Selenium IDE. V textovém poli Cílová předpona „userName“ s „name =“, což znamená, že selenové IDE by mělo cílit na prvek, jehož atribut NAME je „userName“. Do textového pole Hodnota selenového IDE napište „invalidUN“. Váš testovací skript by nyní měl vypadat jako na obrázku níže. S třetím příkazem jsme skončili. Poznámka: Místo neplatného UN můžete zadat jakýkoli jiný textový řetězec. Selenium IDE ale rozlišuje velká a malá písmena a vy zadáváte hodnoty / atributy přesně jako v aplikaci. |
Krok 7
|
Krok 8
|
Krok 9: Uložte testovací případ stejným způsobem jako v předchozí části.
Pomocí tlačítka Najít
Tlačítko Najít v IDE selenu slouží k ověření, zda to, co jsme vložili do textového pole Cíl, je skutečně správný prvek uživatelského rozhraní.
Použijme testovací případ Invalid_login, který jsme vytvořili v předchozích částech. Klikněte na libovolný příkaz se záznamem Target, řekněme třetí příkaz.
Klikněte na tlačítko Najít. Všimněte si, že textové pole Uživatelské jméno na stránce Mercury Tours se na okamžik zvýrazní.
To naznačuje, že IDE selenu dokázalo správně detekovat a přistupovat k očekávanému prvku. Pokud tlačítko Najít zvýraznilo jiný prvek nebo vůbec žádný, pak musí být ve vašem skriptu něco špatně.
Proveďte příkaz
To vám umožní provést libovolný jeden příkaz bez spuštění celého testovacího případu . Stačí kliknout na řádek, který chcete provést, a poté buď kliknout na „Akce> Spustit tento příkaz“ z řádku nabídek nebo jednoduše stisknout „X“ na klávesnici.
Krok 1. Ujistěte se, že je váš prohlížeč na domovské stránce Mercury Tours. Klikněte na příkaz, který chcete provést. V tomto příkladu klikněte na řádek „type | userName | invalidUN“.
Krok 2. Stiskněte „X“ na klávesnici.
Krok 3. Všimněte si, že textové pole pro uživatelské jméno bude vyplněno textem „invalidUN“
Provádění příkazů tímto způsobem je vysoce závislé na stránce, kterou Firefox aktuálně zobrazuje . To znamená, že pokud vyzkoušíte výše uvedený příklad se zobrazenou domovskou stránkou Google namísto Mercury Tours, váš krok se nezdaří, protože na domovské stránce Google není žádné textové pole s atributem „userName“.
Startovní bod
Počáteční bod je indikátor, který říká selenovému IDE, které řádky začnou s prováděním . Jeho klávesová zkratka je „S“.
Ve výše uvedeném příkladu se přehrávání spustí na třetím řádku (zadejte | heslo | invalidPW). V jednom testovacím skriptu můžete mít pouze jeden počáteční bod.
Počáteční bod je podobný příkazu Provést v tom, že jsou závislé na aktuálně zobrazené stránce. Počáteční bod selže, pokud jste na nesprávné stránce.
Hraniční body
Hraniční body jsou indikátory, které říkají Selenium IDE, kde má automaticky pozastavit test. Klávesová zkratka je „B“.
Žluté zvýraznění znamená, že aktuální krok čeká na vyřízení. To dokazuje, že selenové IDE v tomto kroku pozastavilo provádění. V jednom testovacím případě můžete mít více zarážek.
Krok
Umožňuje vám provádět po sobě následující příkazy po pozastavení testovacího případu. Použijme scénář v předchozí části „Hraniční body“.
Před kliknutím na „Krok“. Testovací případ se pozastaví na řádku „clickAndWait | přihlášení“. |
|
Po kliknutí na „Krok“. Spustí se řádek „clickAndWait | přihlášení“ a pozastaví se na další příkaz (verifyTitle | Sign-on: Mercury Tours). Všimněte si, že další řádek je pozastaven, i když tam není žádný zarážka. To je hlavní účel funkce Krok - provádí následující příkazy jeden po druhém, aby vám poskytl více času na kontrolu výsledku po každém kroku. |
Důležité věci, které je třeba si všimnout při použití jiných formátů v zobrazení zdroje
Selenium IDE funguje dobře pouze s HTML - ostatní formáty jsou stále v experimentálním režimu . Je to není vhodné vytvářet nebo upravovat testy za použití jiných formátů zobrazení zdroje, protože tam je ještě hodně práce nezbytná, aby byl stabilní. Níže jsou známé chyby od verze 1.9.1.
- Nebudete moci provádět přehrávání ani přepnout zpět do zobrazení tabulky, pokud se nevrátíte k HTML.
- Jediným způsobem, jak bezpečně přidat příkazy do zdrojového kódu, je jejich záznam.
- Když zdrojový kód upravíte ručně, při přepnutí na jiný formát dojde ke ztrátě celého kódu.
- I když můžete svůj testovací případ uložit v zobrazení zdroje, Selenium IDE jej nebude moci otevřít.
Doporučeným způsobem převodu selenských testů je použití možnosti „Exportovat testovací případ jako…“ v nabídce Soubor, nikoli prostřednictvím zobrazení zdroje.
souhrn
- Testovací skripty lze vytvořit buď zaznamenáním nebo ručním zadáním příkazů a parametrů.
- Při ručním vytváření skriptů se k získání lokátoru používá Firebug.
- Tlačítko Najít slouží ke kontrole, zda má příkaz přístup ke správnému prvku.
- Zobrazení tabulky zobrazuje testovací skript ve formě tabulky, zatímco zobrazení zdroje zobrazení ve formátu HTML.
- Změna zobrazení zdroje na jiný formát než HTML je stále experimentální.
- Při vytváření testů v jiných formátech nepoužívejte zobrazení zdroje. Místo toho použijte funkce Export.
- Parametry nejsou vždy vyžadovány. Záleží na příkazu.
- Existují tři typy příkazů:
- Akce - přímo interaguje s prvky stránky
- Accessors - „čte“ vlastnost prvku a ukládá ji do proměnné
- Tvrzení - porovnává skutečnou hodnotu s očekávanou
- Tvrzení mají tři typy:
- Tvrdit - při selhání se další kroky již neprovádějí
- Ověření - i po selhání budou provedeny následující kroky.
- WaitFor - projde, pokud se zadaná podmínka stane pravdivou během časového limitu; jinak to selže
- Nejběžnější příkazy jsou:
- otevřeno
- click / clickAndWait
- typ / typKlíče
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- ověřitTabulka
- waitForPageToLoad
- waitForElementPresent