Cum să utilizați Selenium IDE cu scripturi și comenzi (Assert, Verify)

Vom folosi Mercury Site-ul web Tours ca aplicația noastră web aflată în teste. Este un sistem de rezervare de zboruri online care conține toate elementele de care avem nevoie pentru acest tutorial. URL-ul său este https://demo.guru99.com/test/newtours/, iar aceasta va fi URL-ul nostru de bază.

Acum să creăm primul nostru script de testare în Selenium IDE folosind cea mai comună metodă – prin înregistrare. După aceea, vom executa scriptul folosind funcția de redare.

Creați un script prin înregistrare

Etapa 1

  • Lansa Firefox si Selenium SDI.
  • Introduceți valoarea pentru adresa URL de bază: https://demo.guru99.com/test/newtours/.
  • Toggle butonul Înregistrare activat (dacă nu este încă activat în mod implicit).

Creați un script prin înregistrare

Etapa 2

In Firefox, navigheaza catre https://demo.guru99.com/test/newtours/. Firefox ar trebui să vă conducă la o pagină similară cu cea prezentată mai jos.

Creați un script prin înregistrare

Etapa 3

  • Faceți clic dreapta pe orice spațiu liber din pagină, cum ar fi pe Mercury Sigla Tours în colțul din stânga sus. Acest lucru va aduce în discuție Selenium meniul contextual IDE. Notă: Nu faceți clic pe niciun obiect sau pe imagini cu hyperlink
  • Selectați opțiunea „Afișați comenzile disponibile”.
  • Apoi, selectați „assertTitle exact: Bun venit: Mercury Tururi.” Aceasta este o comandă care se asigură că titlul paginii este corect.

Creați un script prin înregistrare

Creați un script prin înregistrare

Etapa 4

  • În caseta de text „Nume utilizator” a Mercury Tururi, introduceți un nume de utilizator nevalid, „invalidUNN”.
  • În caseta de text „Parolă”, introduceți o parolă nevalidă, „invalidPWD”.

Creați un script prin înregistrare

Creați un script prin înregistrare
Etapa 5

  • Faceți clic pe butonul „Conectați-vă”. Firefox ar trebui să te ducă la această pagină.

Creați un script prin înregistrare

Etapa 6

Toggle butonul de înregistrare oprit pentru a opri înregistrarea. Scriptul dvs. ar trebui să arate acum ca cel prezentat mai jos.

Creați un script prin înregistrare

Etapa 7

Acum că am terminat cu scriptul nostru de testare, îl vom salva într-un caz de testare. În meniul Fișier, selectați „Salvare caz de testare”. Alternativ, puteți apăsa pur și simplu Ctrl+S.

Creați un script prin înregistrare

Etapa 8

  • Alegeți locația dorită, apoi denumiți Caz de testare ca „Invalid_login”.
  • Faceți clic pe butonul „Salvați”.

Creați un script prin înregistrare

Etapa 9

Observați că fișierul a fost salvat ca HTML.

Creați un script prin înregistrare

Pas 10) Du-te înapoi la Selenium IDE și faceți clic pe butonul Redare pentru a executa întregul script. Selenium IDE ar trebui să poată replica totul impecabil.

Creați un script prin înregistrare

Introducere în Selenium Comenzi – Selenese

  • Comenzile seleneze pot avea până la maximum doi parametri: țintă și valoare.
  • Parametrii nu sunt necesari tot timpul. Depinde de câte va avea nevoie comanda.

Tipuri de comenzi

Acţiuni Acestea sunt comenzi care interacționează direct cu elementele paginii.

Exemplu: comanda „click” este o acțiune deoarece interacționați direct cu elementul pe care faceți clic.

Comanda „type” este, de asemenea, o acțiune, deoarece introduceți valori într-o casetă de text, iar caseta de text vi le arată în schimb. Există o interacțiune bidirecțională între dvs. și caseta de text.

Accesorii Sunt comenzi care vă permit să stocați valori într-o variabilă.

Exemplu: comanda „storeTitle” este un accesoriu pentru că doar „citește” titlul paginii și îl salvează într-o variabilă. Nu interacționează cu niciun element de pe pagină.

Afirmații Sunt comenzi care verifică dacă o anumită condiție este îndeplinită.

3 tipuri de afirmații

  • assert. Când o comandă „assert” eșuează, testul este oprit imediat.
  • Verifica. Când o comandă „verify” eșuează, Selenium IDE înregistrează această eroare și continuă cu execuția testului.
  • Asteapta pentru. Înainte de a trece la următoarea comandă, comenzile „waitFor” vor aștepta mai întâi ca o anumită condiție să devină adevărată.
    • Dacă condiția devine adevărată în perioada de așteptare, pasul trece.
    • Dacă condiția nu devine adevărată, pasul eșuează. Eșecul este înregistrat, iar execuția testului trece la următoarea comandă.
    • În mod implicit, valoarea timeout este setată la 30 de secunde. Puteți schimba acest lucru în Selenium Dialog Opțiuni IDE din fila General.

Afirmați vs. Verificați în Selenium

Afirmați vs. Verificați în Selenium

Afirmați vs. Verificați în Selenium

Comenzi comune

Comandă Numărul de parametri Description
deschide 0 - 2 Deschide o pagină folosind o adresă URL.
click/clickAndWait 1 Faceți clic pe un element specificat.
tip/typeKeys 2 Introduce o succesiune de caractere.
verifyTitle/assertTitle 1 Compară titlul real al paginii cu o valoare așteptată.
verifyTextPresent 1 Verifică dacă un anumit text este găsit în pagină.
verifyElementPresent 1 Verifică prezența unui anumit element.
verifyTable 2 Compară conținutul unui tabel cu valorile așteptate.
waitForPageToLoad 1 Întrerupe execuția până când pagina este încărcată complet.
waitForElementPresent 1 Întrerupe execuția până când elementul specificat devine prezent.

Creați un script manual cu Firebug

Acum, vom recrea același caz de testare manual, tastând comenzile. De data aceasta, va trebui să folosim Firebug.

Etapa 1

Creați un script manual cu Firebug

Pasul 2: Faceți clic pe linia goală cea mai de sus din Editor.

Creați un script manual cu Firebug

Tastați „deschide” în caseta de text Comandă și apăsați Enter.

Creați un script manual cu Firebug

Etapa 3

  • Navigaţi Firefox la adresa URL de bază și activați Firebug
  • În Selenium Panoul Editor IDE, selectați a doua linie (linia de sub comanda „deschidere”) și creați a doua comandă tastând „assertTitle” în caseta de comandă.
  • Simțiți-vă liber să utilizați funcția de completare automată.

Creați un script manual cu Firebug

Etapa 4

  • În Firebug, extindeți eticheta pentru a afișa etichetă.
  • Faceți clic pe valoarea etichetă (care este „Bine ați venit: Mercury Tururi”) și lipiți-l pe Target câmp din Editor.

Creați un script manual cu Firebug

Etapa 5

  • Pentru a crea a treia comandă, faceți clic pe a treia linie goală din Editor și introduceți „type” în caseta de text Comandă.
  • În Firebug, faceți clic pe butonul „Inspectați”.

Creați un script manual cu Firebug

Faceți clic pe caseta de text Nume utilizator. Observați că Firebug vă arată automat codul HTML pentru acel element.

Creați un script manual cu Firebug

Etapa 6 Observați că caseta de text Nume utilizator nu are un ID, dar are un atribut NAME. Prin urmare, vom folosi NUMELE acestuia ca locator. Copiați valoarea NAME și inserați-o pe Target câmp în Selenium SDI.

Creați un script manual cu Firebug

Cu toate acestea, în Target caseta de text, prefixul „nume utilizator” cu „nume=”, indicând faptul că Selenium IDE ar trebui să vizeze un element al cărui atribut NAME este „userName”.

Creați un script manual cu Firebug

Tastați „invalidUN” în caseta de text Valoare a Selenium IDE. Scriptul dvs. de testare ar trebui să arate acum ca imaginea de mai jos. Am terminat cu a treia comandă. Notă: În loc de invalidUN, puteți introduce orice alt șir de text. Dar Selenium IDE ține cont de majuscule și minuscule și tastați valori/atribute exact ca în aplicație.

Creați un script manual cu Firebug

Etapa 7

  • Pentru a crea a patra comandă, tastați „type” în caseta de text Comandă.
  • Din nou, utilizați butonul „Inspectați” al lui Firebug pentru a obține locatorul pentru caseta de text „Parolă”.

Creați un script manual cu Firebug

  • Lipiți atributul NAME („parolă”) în Target câmp și prefixați-l cu „nume="
  • Tastați „invalidPW” în câmpul Valoare în Selenium IDE. Scriptul dvs. de testare ar trebui să arate acum ca imaginea de mai jos.

Creați un script manual cu Firebug

Etapa 8

  • Pentru a cincea comandă, tastați „clickAndWait” în caseta de text Comandă din Selenium SDI.
  • Utilizați butonul „Inspectați” de la Firebug pentru a obține locatorul butonului „Conectați-vă”.

Creați un script manual cu Firebug

  • Lipiți valoarea atributului NAME („login”) în Target caseta de text și prefixați-o cu „nume=”.
  • Scriptul dvs. de testare ar trebui să arate acum ca imaginea de mai jos.

Creați un script manual cu Firebug

Pasul 9: Salvați cazul de testare în același mod ca în secțiunea anterioară.

Folosind butonul Găsiți

Butonul Găsiți în Selenium IDE este folosit pentru a verifica dacă ceea ce am pus în Target caseta de text este într-adevăr elementul UI corect.

Să folosim cazul de testare Invalid_login pe care l-am creat în secțiunile anterioare. Faceți clic pe orice comandă cu a Target intră, să zicem, a treia comandă.

Folosind butonul Găsiți

Faceți clic pe butonul Găsiți. Observați că caseta de text Nume utilizator din Mercury Pagina Tururi devine evidențiată pentru o secundă.

Folosind butonul Găsiți

Acest lucru indică faptul că Selenium IDE a fost capabil să detecteze și să acceseze corect elementul așteptat. Dacă butonul Găsiți a evidențiat un element diferit sau niciun element, atunci trebuie să fie ceva în neregulă cu scriptul dvs.

Executați comanda

Acest lucru vă permite să executați orice comandă fără a rula întregul caz de testare. Doar faceți clic pe linia pe care doriți să o executați și apoi fie faceți clic pe „Acțiuni > Executați această comandă” din bara de meniu, fie apăsați pur și simplu pe „X” de pe tastatură.

Pas 1) Asigurați-vă că browserul dvs. este pe Mercury Pagina principală a excursiilor. Faceți clic pe comanda pe care doriți să o executați. În acest exemplu, faceți clic pe „type | userName | invalidUN”.

Executați comanda

Pas 2) Apăsați „X” de pe tastatură.

Pas 3) Observați că caseta de text pentru numele de utilizator devine populată cu textul „invalidUN”

Executați comanda

Executarea comenzilor în acest fel depinde foarte mult de pagina care Firefox este afișat în prezent. Aceasta înseamnă că dacă încercați exemplul de mai sus cu pagina de pornire Google afișată în loc de Mercury Tururi, atunci pasul dvs. va eșua deoarece nu există o casetă de text cu un atribut „nume utilizator” în pagina de pornire a Google.

Punctul de inceput

Un punct de plecare este un indicator care spune Selenium IDE care liniile de execuție va începe. Tasta sa de comandă rapidă este „S”.

Punctul de inceput

În exemplul de mai sus, redarea va începe pe a treia linie (tip | parolă | invalidPW). Puteți avea doar un punct de pornire într-un singur script de testare.

Punctul de pornire este similar cu Execute Command, astfel încât acestea depind de pagina afișată în prezent. Punctul de pornire va eșua dacă vă aflați pe pagina greșită.

Puncte de întrerupere

Punctele de întrerupere sunt indicatori care spun Selenium IDE unde să întrerupă automat testul. Tasta de comandă rapidă este „B”.

Puncte de întrerupere

Evidențierea galbenă înseamnă că pasul curent este în așteptare. Aceasta demonstrează că Selenium IDE a întrerupt execuția la acel pas. Puteți avea mai multe puncte de întrerupere într-un singur caz de testare.

Pas

Vă permite să executați comenzile ulterioare una câte una după întreruperea cazului de testare. Să folosim scenariul din secțiunea anterioară „Puncte de întrerupere”.

Pas

Înainte de a face clic pe „Pas”.

Cazul de testare se întrerupe la linia „clickAndWait | log in".

Pas După ce faceți clic pe „Pas”.

Secțiunea „clickAndWait | se rulează linia login și se întrerupe la următoarea comandă (verifyTitle | Sign-on: Mercury Tururi).

Observați că următoarea linie este întreruptă chiar dacă nu există un punct de întrerupere acolo. Acesta este scopul principal al funcției Step – execută comenzile ulterioare una câte una pentru a vă oferi mai mult timp pentru a inspecta rezultatul după fiecare pas.

Lucruri importante de reținut atunci când utilizați alte formate în vizualizarea sursă

Lucruri importante de reținut atunci când utilizați alte formate în vizualizarea sursă

Selenium IDE funcționează bine doar cu HTML – alte formate sunt încă în modul experimental. Este NU este recomandabil pentru a crea sau edita teste folosind alte formate în Vizualizarea sursă, deoarece este încă multă muncă necesară pentru a-l stabili. Mai jos sunt erorile cunoscute începând cu versiunea 1.9.1.

  • Nu veți putea efectua redarea și nici nu veți putea reveni la Vizualizare tabel decât dacă reveniți la HTML.
  • Singura modalitate de a adăuga comenzi în siguranță pe codul sursă este prin înregistrarea acestora.
  • Când modificați manual codul sursă, totul se va pierde când treceți la alt format.
  • Deși vă puteți salva cazul de testare în Vizualizare sursă, Selenium IDE nu îl va putea deschide.

Modalitatea recomandată de a converti testele seleneze este să utilizați opțiunea „Export Test Case As...” din meniul Fișier, și nu prin Vizualizarea sursă.

Rezumat

  • Scripturile de testare pot fi create fie prin înregistrarea, fie prin tastarea manuală a comenzilor și parametrilor.
  • Când creați manual scripturi, Firebug este folosit pentru a obține locatorul.
  • Butonul Găsiți este folosit pentru a verifica dacă comanda poate accesa elementul corect.
  • Vizualizarea tabelului afișează un script de testare în formă tabelară, în timp ce Vizualizare sursă îl afișează în format HTML.
  • Modificarea Vizualizării sursă într-un format non-HTML este încă experimentală.
  • Nu utilizați Vizualizarea sursă pentru a crea teste în alte formate. Utilizați în schimb funcțiile Export.
  • Parametrii nu sunt necesari tot timpul. Depinde de comanda.
  • Există trei tipuri de comenzi:
    • Acțiuni – interacționează direct cu elementele paginii
    • Accesori – „citește” o proprietate a unui element și o stochează într-o variabilă
    • Aserțiuni – compară o valoare reală cu una așteptată
  • Afirmațiile au trei tipuri:
    • Afirmați - la eșec, pașii următori nu mai sunt executați
    • Verificați – la eșec, pașii următori sunt încă executați.
    • WaitFor – trece dacă condiția specificată devine adevărată în perioada de expirare; altfel, va eșua
  • Cele mai comune comenzi sunt:
    • deschide
    • click/clickAndWait
    • tip/typeKeys
    • verifyTitle/assertTitle
    • verifyTextPresent
    • verifyElementPresent
    • verifyTable
    • waitForPageToLoad
    • waitForElementPresent