getting started with watir
Watir este un acronim pentru „Testarea aplicațiilor web în rubin”. Aflați cum să instalați și să utilizați Watir pentru a crea și rula cazuri de testare cu exemple de cod:
Watir este pronunțat ca apă. Este o colecție open-source de biblioteci Ruby. Deoarece este testarea aplicațiilor web în Ruby, folosește Ruby ca limbaj de scriptare.
Ce veți învăța:
- Instalarea Watir
- Cum se utilizează Watir: crearea și executarea cazurilor de testare
- Exemple Watir
- Așteptări și taste speciale
- Testarea regresiei cu Watir
- Concluzie
- Lectură recomandată
Instalarea Watir
Ar trebui să aveți cunoștințe de bază despre HTML, programare și Ruby pentru a utiliza Watir. Cu toate acestea, deoarece Ruby în sine este ușor de utilizat și de înțeles, învățarea acestuia și utilizarea Watir nu sunt atât de dificile.
Instalare Watir pentru Windows
Există mari șanse să nu aveți Ruby instalat pe computer. Pentru a verifica acest lucru, deschideți linia de comandă și tastați > ruby –v și apăsați „Enter” .
Fig 1: Dacă nu aveți Ruby instalat, veți primi următorul mesaj.
Dacă Ruby este instalat, veți obține versiunea sa cu această comandă. Puteți face clic Aici pentru a descărca cea mai recentă versiune de Ruby. Selectați versiunea adecvată, site-ul în sine va recomanda Ruby 2.4.X ca instalator x64 sau x86.
Fig 2: Când faceți clic pe această versiune, veți obține următoarea fereastră.
Fig 3: Faceți clic pe butonul Start Descărcare și veți vedea următoarea fereastră.
Deoarece procesul de descărcare este întrerupt pentru a face o captură de ecran, puteți vedea fișierul 'Start' , în caz contrar, veți putea vedea fișierul 'Pauză' aici. Acum mergeți la locația / folderul în care fișierul dvs. este descărcat (aici, după cum puteți vedea în Fig 2, locația este: C: Users Ojas Downloads Programs ).
Fig 4: Executați fișierul rubyinstaller-2.4.3-2-x64.exe.
Fig 5: Selectați „Accept licența” și faceți clic pe „Următorul”:
Fig 6: Faceți clic pe Instalare și apoi pe Finalizare.
Ecranul de mai sus va întreba „Ce componente trebuie instalate?” Dacă nu sunteți sigur, apăsați tasta Enter și sistemul va instala toate cele trei componente, adică Instalarea de bază MSYS2, actualizarea sistemului MSYS2 și lanțul de instrumente de dezvoltare MSYS2 și MINGW .
Instrumentele MSYS2 sunt necesare pentru a compila pietre prețioase pe bază de rubin. MSYS2 poate fi instalat și manual.
Fig 7: MSYS2 instalat manual
Va dura câteva minute pentru a instala toate componentele. Închideți promptul de comandă și redeschideți-l. Apoi tastați> ruby –v și apăsați tasta Enter. Dacă primiți următorul mesaj, înseamnă că Ruby este instalat cu succes.
ruby 2.4.3p205 (2017-12-14 revizuire 61247) [x64-mingw32]
Software-ul care este scris în Ruby se numește Ruby Gems. Am instalat Ruby, dar există posibilitatea să nu avem cea mai recentă versiune a acestor Ruby Gems. Prin urmare, mai întâi, trebuie să verificăm această versiune gem folosind comanda> gem –v, aici avem versiunea 2.6.14.
Îl vom actualiza folosind comanda:
> actualizare gem - sistem
Odată terminat, vom primi mesajul - Software-ul sistemului RubyGems a fost actualizat .
Acum trebuie să instalăm gemul driverului web Selenium folosind comanda [> gem instalează driverul seleniu-web –no-ri –no-rdoc].
Se va instala și veți primi următorul mesaj:
Preluare: seleniu-web driver-3.11.0.gem (100%)
S-a instalat cu succes selenium-web driver-3.11.0
1 bijuterie instalată
** Dacă primiți orice mesaj Windows Firewall, închideți fereastra respectivă.
Acum avem nevoie de IEDriverServer. Clic Aici pentru a descărca IEDriverServer
Faceți clic pe primul link și apoi selectați versiunea potrivită pentru computerul dvs., adică fișierul Win32 sau X64.Zip va fi descărcat. Pentru a afla unde să extrageți aceste fișiere, urmați pașii de mai jos:
Accesați linia de comandă.
Tastați> PATH
Fig 8 : Se va obține următorul rezultat:
Vom extrage fișierele noastre în PATH C: Ruby24-x64 bin . Extrageți fișiere în calea folderului dvs. Ruby. Acum tastați irb în promptul de comandă și apăsați ENTER. IRB înseamnă Interactive Ruby.
> necesită „seleniu-webdriver”
Veți obține => adevărat
> browser = Selenium :: WebDriver.for: internet_explorer
Browserul dvs. IE se va deschide și veți vedea mesajul: „Aceasta este pagina inițială de pornire pentru serverul WebDriver” .
Pentru a deschide pagina web www.google.co.in în browserul IE tastați comanda:
> browser. obțineți „https://www.google.co.in/”
Tabelul următor vă va oferi o listă a driverelor browserelor respective și a linkurilor de descărcare ale acestora. Urmați aceeași procedură pentru ceilalți drivere, precum și explicată pentru IEDriverServer.
Nume browser | Numele șoferului | Link de descărcare | |
---|---|---|---|
:clar | : f8 | :stânga | : numpad7 |
Firefox | șofer de gecko | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | râu cromat | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari nu funcționează pentru Windows |
Instalare Watir:
- Mergeți la promptul de comandă.
- Tastați comanda> gem install watir
- Apăsați butonul Enter.
Watir va fi instalat. Acum puteți începe să utilizați Watir.
Instalare Watir Pentru Mac
Pași:
- Instalarea Ruby
- Instalarea bijuteriei Ruby
- Actualizarea bijuteriei Ruby
- Instalarea Selenium WebDriver
- Instalarea IE Driver / Gecko Driver / Chrome Driver / safari driver
- Instalarea Watir
Nu este nevoie să instalați Ruby pe Mac. Prin urmare, am acoperit deja primul pas. Va economisi mult timp. Vom verifica versiunea ruby cu comanda: $ rubin -v
Aici, îl avem ca - ruby 2.0.0p648 (revizuirea 2015-12-16 53162) [universal.x86_64-darwin16]
Acum vom verifica versiunea ruby: gem $ gem -v
Iată-l - 2.0.14.1. Vom actualiza pietrele noastre rubine folosind comanda- $ actualizare sudo gem - sistem. Vom instala Selenium WebDriver folosind comanda: $ sudo gem instalează selenium-webdriver —no-ri —no-rdoc
Există posibilitatea de a obține următoarea eroare în timp ce instalați Selenium webdriver sau actualizați bijuteria rubin.
Eroare :Încărcarea în siguranță YAML nu este disponibilă. Actualizați psihicul la o versiune care acceptă încărcarea în siguranță (> = 2.0).
Pentru a rezolva această eroare, trebuie să ne actualizăm Ruby-ul. Pentru a actualiza Ruby vom solicita mai întâi managerul de versiuni Ruby, îl puteți obține folosind această comandă [$ curl -L https://get.rvm.io | bash -s stabil] . Pentru a instala cea mai recentă versiune de tip Ruby [$ rvm instalare ruby - [versiune]] . Reporniți terminalul odată ce rvm este complet instalat.
Acum trebuie să setăm această ultimă versiune, deoarece dorim să o folosim. Deci, tastați [$ rvm use ruby-2.4.1]. Pentru a seta această versiune ca fiind cea implicită, utilizați următoarea comandă: [$ rvm —default use 2.4.1]. Acum actualizați din nou pietrele rubine. Încercați să instalați seleniu-webdriver. Dacă primiți din nou vreo eroare, atunci este posibil să aveți nevoie de instrumente de dezvoltare a liniei de comandă, deci instalați-o folosind [$ git —version]. Așa cum am făcut deja, nu l-am instalat aici.
Pentru a instala driverul Chrome, avem nevoie de homebrew [$ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”].
Să instalăm driverul Chrome. [$ brew install chromedriver].
Încercați acest cod în terminal:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Cu acest cod, browserul dvs. ar trebui să se deschidă cu pagina web specificată. Acum vom instala Watir: [$ gem instalați apă].
Am terminat procesul de instalare. Acum puteți începe să scrieți scripturi de testare.
Cum se utilizează Watir: crearea și executarea cazurilor de testare
Puteți scrie cazurile de testare sau scripturile în Notepad. Salvați acest fișier cu extensia .rb.
Exemplu: Să presupunem că ați creat un fișier test.rb. Pentru a rula acest script / program faceți dublu clic pe acest fișier sau urmați pașii de mai jos. Să presupunem că ați salvat acest fișier în unitatea C. Adresa acestui fișier este „C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Apăsați butonul ENTER. Pentru a edita acest fișier, faceți clic dreapta pe acest fișier și selectați opțiunea Deschidere cu.
# 1) Rularea cazurilor de test în paralel
Dacă ați scris două cazuri de testare și le-ați salvat ca test1.rb și test2.rb. Pentru a rula aceste două teste în paralel, trebuie să urmați acești pași:
Fig.9: Mergeți la promptul de comandă și tastați [> gem instala paralel_teste]. Veți vedea următorul mesaj.
Apoi rulați testele.
>parallel_test test1.rb test2.rb
# 2) Crearea Test Suite
Dacă doriți ca câteva teste să ruleze frecvent și să le adăugați în suita de teste, iată codul pentru acesta.
Cod:
require 'minitest/autorun' require 'C:/Ruby_Programs/test3' # This is the path of your test file which you want to include. require 'C:/Ruby_Programs/test4' # This is the path of your test file which you want to include.
Salvați acest fișier ca testSuite.rb și rulați
C: Ruby_Programs> ruby testSuite.rb
Exemple Watir
Exemplul 1:
Deoarece acesta este primul nostru program, vom deschide pagina web „Google.co.in” și vom face clic pe linkul Gmail.
Cod:
require 'watir' test_site = 'https://www.google.co.in/' browser = Watir::Browser.new:firefox browser.goto test_site browser.link(:href, 'https://mail.google.com/mail/?tab=wm').click puts “Test Executes” browser.close
Înțelegerea codului
# 1) necesită „watir” # Aici spunem că vom solicita bibliotecii Watir să ruleze programul nostru și va fi încărcat cu această declarație.
# 2) test_site = „https://www.google.co.in/” # Aici declarăm variabila.
# 3) browser = Watir :: Browser.new: firefox # Aici deschidem browserul Firefox.
Watir :: Browser.new: internet_explorer # Pentru Internet Explorer
ce este un fișier MKV și cum îl joc?
Watir :: Browser.new: safari # Pentru Safari
# 4) browser.goto test_site # Sau browser.goto „https://www.google.co.in/” Comanda # goto este utilizată pentru a naviga la site-ul web specificat.
# 5) browser.link (: href, „https://mail.google.com/mail/?tab=wm›).click # Aici facem clic pe linkul Gmail. Hyperlinkul este denumit link în cod și folosim proprietatea sa „href” pentru a localiza acest hyperlink.
# 6) pune „Test Executed” # Această linie va scrie șirul „Test Executed” pe promptul de comandă.
# 7) browser.close # Această linie va închide browserul.
Dacă nu menționăm numele browserului, atunci vom scrie doar această linie în codul nostru [Watir :: Browser.new], Watir va deschide browserul Chrome, deoarece Chrome este browserul implicit pentru Watir.
Exemplul 2:
În acest exemplu, vom deschide pagina web www.google.co.in. Apoi vom căuta textul „Testare manuală”. Apoi, vom reveni la pagina principală și vom face clic pe linkul „Gmail”.
Cod:
require 'watir' browser=Watir::Browser.new:firefox browser.goto 'https://www.google.co.in' if browser.title.include? 'Google' browser.text_field(:class, 'gsfi').set 'Manual Testing' browser.button(:name, 'btnK').click if browser.text.include? 'Manual Testing is a process of finding out the defects' puts 'Title of webpage '+ browser.title browser.img(:src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click browser.link(:class, 'gb_P').click else puts 'Wrong result found' end else puts 'Either you are on wrong page or page not found' end puts 'Now title of webpage '+ browser.title browser.close puts 'Test Executed Successfully'
Înțelegerea codului:
# 1) browser.goto https://www.google.co.in - Aici navigăm la site-ul web specificat.
# 2) dacă browser.title.include? „Google” - Aici verificăm titlul paginii web ca și cum este așteaptat sau nu. În cealaltă parte a acestui „Dacă” punem această afirmație „Fie sunteți pe pagina greșită, fie pagina nu a fost găsită”. Această declarație va fi afișată pe promptul de comandă.
# 3) browser.text_field (: class, „gsfi”). Setați „Testare manuală” - Aici introducem textul „Testare manuală” în căsuța de căutare.
# 4) browser.button (: nume, „btnK”). Faceți clic - Aici facem clic pe butonul „Căutare Google”.
# 5) dacă browser.text.include? „Testarea manuală este un proces de descoperire a defectelor” - Acum verificăm textul de pe pagina web pentru a verifica dacă am obținut rezultatul corect al căutării. În partea „Altfel” a acestei afirmații „Dacă” introducem declarația „Rezultat greșit găsit”.
# 6) pune „Titlul paginii web“ + browser.title - Aici afișăm titlul paginii web pe promptul de comandă.
# 7) browser.img (: src, „/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click - Aici facem clic pe imagine pentru a reveni la pagina de pornire.
# 8) browser.link (: class, „gb_P”). Faceți clic - Aici facem clic pe linkul Gmail.
# 9) pune „Acum titlul paginii web“ + browser.title - Acum punem din nou titlul paginii web pe promptul de comandă. Ar trebui să fie titlul paginii Gmail.
# 10) browser.close - Aici închidem browserul.
# 11) pune „Test executat cu succes”. Doar pentru a ne asigura că toți pașii sunt executați corect, punem această declarație pe promptul de comandă.
Exemplul 3:
În acest exemplu, vom încerca să folosim maximum de comenzi Watir, astfel încât să înțelegeți cum să le utilizați. Vom vedea și descrierea acestuia împreună cu codul.
Cod cu comentarii:
require 'watir' browser=Watir::Browser.new:chrome browser.goto “http://watir.com/examples/forms_with_input_elements.html” #Here we will see how to insert data in text field. t1=browser.text_field id: 'new_user_first_name' t1.set 'Testing' t2=browser.text_field id: 'new_user_last_name' t2.set “testdata' #Here we will see how to select data from select list. sl=browser.select_list id: 'new_user_languages' sl.select 'English' sl.selected_options #Here we will see how to select radio button. rd=browser.radio value: 'no' rd.set chk=browser.checkbox value: 'cars' chk.set #Here we will see how to click button. btn=browser.button name: 'new_user_button_2' btn.click #This is an Explicit wait statement. This statement will make the program wait #until the particular event happens. Watir::Wait.until {browser.text.include? 'submit'} # Here I used this if statement because this is a test webpage and nothing is #happening after clicking the button. So just to show that button is clicked I used If #statement. if browser.text.include? 'submit' puts 'Data Submitted' else puts 'Data not yet submitted' end # This is an implicit wait statement. It will make your program to wait for 30 seconds compulsory. browser.driver.manage.timeouts.implicit_wait = 30 # You can send special keys to browser. There is a big list of these keys. browser.send_keys :page_up #Here we are taking the screenshot and saving it in a png file. browser.screenshot.save ‘screenshot1.png' browser.send_keys :page_down browser.screenshot.save ‘screenshot2.png' puts 'TestCase Executed' browser.close
Așteptări și taste speciale
Există două tipuri de declarații de așteptare acceptate de Watir. Prima este o așteptare explicită, iar a doua este o așteptare implicită. Am văzut sintaxa pentru ambele în codul de mai sus, adică Exemplul 3.
Chei speciale acceptate de Watir: Mai întâi, vom vedea sintaxa pentru utilizarea acestor chei speciale.
- browser.send_keys: page_up #Am folosit acest lucru în codul nostru.
- browser.element.send_keys [: control, ‘c’],: anulează
- browser.element.click (: enter,: space)
Urmează o listă a cheilor speciale acceptate de Watir:
:introduce | : f1 | :Control | : numpad0 |
:schimb | : f2 | :Tot | : numpad1 |
:nul | : f3 | :pauză | : numpad2 |
:Anulare | : f4 | :evadare | : numpad3 |
:Ajutor | : f5 | :spaţiu | : numpad4 |
: backspace | : f6 | :Sfârșit | : numpad5 |
: fila | : f7 | :Acasă | : numpad6 |
:întoarcere | : f9 | :sus | : numpad8 |
: left_shift | : f10 | :dreapta | : numpad9 |
: left_control | : f11 | :jos | :multiplica |
:pagină sus | : f12 | :introduce | :adăuga |
:in josul paginii | : meta | :șterge | :scădea |
: săgeată_stânga | :comanda | : este egal | : divide |
Testarea regresiei cu Watir
În testarea de regresie, verificăm dacă modificările au afectat sau nu partea neschimbată.
Pentru aceasta, trebuie să reluăm din nou cazurile noastre de testare anterioare. Testarea regresiei va consuma mult timp dacă se face manual. Watir este unul dintre cele mai bune instrumente de testare a regresiei, deoarece scrierea, menținerea / actualizarea și executarea cazurilor de testare sunt ușoare.
Concluzie
În concluzie, putem spune că Watir este ușor de învățat instrumentul. Este un instrument open-source, prin urmare este rentabil și ușor de utilizat. Deși nu are atât de multe avantaje față de Selenium WebDriver, este un instrument mai bun în comparație cu multe alte instrumente.
Suportă programarea, deci este mult mai bună decât alte instrumente de înregistrare și redare. Este într-adevăr unul dintre cele mai bune instrumente de testare a regresiei.
Ați încercat instrumentul Watir?
Lectură recomandată
- 30+ Cele mai bune tutoriale despre seleniu: învățați seleniul cu exemple reale
- Tutorial ChromeDriver Selenium: Teste Selenium Webdriver pe Chrome
- 180+ Exemple de testare a aplicațiilor web Exemple de teste (eșantion de listă de verificare)
- Top 30+ instrumente de testare a aplicațiilor web în 2021 (listă cuprinzătoare)
- Ghid complet de testare a aplicațiilor web (Cum să testați un site web)
- Topul celor mai populare 10 instrumente de testare a regresiei în 2021
- Ce este testarea de regresie? Definiție, instrumente, metodă și exemplu
- Cele mai bune instrumente de testare software 2021 [Instrumente de automatizare a testelor de calitate]