getting started with watir
Watir je kratica za 'Testiranje web aplikacija u rubiju'. Saznajte kako instalirati i koristiti Watir za stvaranje i pokretanje test slučajeva s primjerima koda:
Watir se izgovara kao Voda. To je zbirka Ruby knjižnica otvorenog koda. Kako se radi o testiranju web aplikacija u Rubyu, on koristi Ruby kao svoj skriptni jezik.
Što ćete naučiti:
- Instalacija Watira
- Kako se koristi Watir: Stvaranje i izvršavanje testnih slučajeva
- Watirovi primjeri
- Čekanja i posebni ključevi
- Ispitivanje regresije s Watirom
- Zaključak
- Preporučena literatura
Instalacija Watira
Za korištenje Watira treba imati osnovno znanje HTML-a, programiranja i Ruby-a. Međutim, kako je Ruby sam po sebi jednostavan za korištenje i razumijevanje, njegovo učenje i upotreba Watira nije toliko teško.
Watir instalacija za Windows
Velika je šansa da na računalu nemate instaliranu Ruby. Da biste to provjerili, otvorite Command Prompt i upišite > ruby –v i pritisnite ‘Enter’ .
Slika 1: Ako nemate instaliran Ruby, dobit ćete sljedeću poruku.
Ako je Ruby instaliran, ovom ćete naredbom dobiti njegovu verziju. Možete kliknuti ovdje za preuzimanje najnovije verzije Ruby. Odaberite odgovarajuću verziju, web mjesto će samo preporučiti Ruby 2.4.X kao instalacijski sustav x64 ili x86.
Slika 2: Kada kliknete na ovu verziju, dobit ćete sljedeći prozor.
Slika 3: Kliknite gumb Pokreni preuzimanje i vidjet ćete sljedeći prozor.
Kako je postupak preuzimanja zaustavljen radi snimanja zaslona, moći ćete vidjeti 'Početak' gumb, u suprotnom ćete moći vidjeti 'Pauza' gumb ovdje. Sada idite na mjesto / mapu gdje se vaša datoteka preuzima (ovdje je, kao što vidite na slici 2, mjesto: C: Korisnici Ojas Preuzimanja Programi ).
Slika 4: Izvršite datoteku rubyinstaller-2.4.3-2-x64.exe.
Slika 5: Odaberite 'Prihvaćam licencu' i kliknite 'Dalje':
Slika 6: Kliknite Instaliraj, a zatim Završi.
Gornji zaslon pitati će ‘Koje komponente treba instalirati?’ Ako niste sigurni, samo pritisnite tipku Enter i sustav će instalirati sve tri komponente, tj. Osnovna instalacija MSYS2, ažuriranje sustava MSYS2 i alatni lanac za razvoj MSYS2 i MINGW .
MSYS2 alati su neophodni za sastavljanje rubin dragulja temeljenih na C-u. MSYS2 se također može instalirati ručno.
Slika 7: MSYS2 ručno instaliran
Trebat će nekoliko minuta da instalirate sve komponente. Samo zatvorite naredbeni redak i ponovno ga otvorite. Zatim upišite> ruby –v i pritisnite tipku Enter. Ako dobijete sljedeću poruku, to znači da je Ruby uspješno instaliran.
rubin 2.4.3p205 (revizija 14.12.2017 61247) (x64-mingw32)
Softver napisan na jeziku Ruby naziva se Ruby Gems. Instalirali smo Ruby, ali postoji mogućnost da možda nemamo najnoviju verziju ovih Ruby Gems. Stoga prvo moramo provjeriti ovu verziju dragulja pomoću naredbe> gem –v, ovdje smo dobili verziju 2.6.14.
Ažurirat ćemo ga pomoću naredbe:
> ažuriranje dragulja - sustav
Kad završimo, dobit ćemo poruku– Ažuriran softver sustava RubyGems .
Sada moramo instalirati dragulj za mrežni upravljački program Selenium pomoću naredba (> gem instaliraj pokretački program selenium-web –no-ri –no-rdoc).
Instalirat će se i dobit ćete sljedeću poruku:
Dohvaćanje: selen-web driver-3.11.0.gem (100%)
Uspješno instaliran selenium-web driver-3.11.0
Instaliran 1 dragulj
** Ako dobijete bilo kakvu poruku Windows vatrozida, zatvorite taj prozor.
Sad nam treba IEDriverServer. Klik ovdje za preuzimanje IEDriverServer
Kliknite prvu vezu, a zatim odaberite odgovarajuću verziju za svoje računalo, tj. Win32 ili X64.Zip datoteka će se preuzeti. Da biste znali gdje izvući ove datoteke, slijedite korake u nastavku:
Idite na naredbeni redak.
Upišite> PUT
Slika 8 : Dobit će se sljedeći rezultat:
Izdvojit ćemo svoje datoteke u PATH C: Ruby24-x64 bin . Izdvojite datoteke u svoj put do mape Ruby. Sada upišite irb u naredbeni redak i pritisnite ENTER. IRB je kratica od Interactive Ruby.
> zahtijeva 'selenium-webdriver'
Dobit ćete => istina
> preglednik = Selenium :: WebDriver.for: internet_explorer
Vaš će se IE preglednik otvoriti i vidjet ćete poruku: 'Ovo je početna početna stranica za WebDriver poslužitelj' .
Da biste otvorili web stranicu www.google.co.in u IE pregledniku, upišite u naredbi:
> preglednik. dobiti 'https://www.google.co.in/'
Sljedeća će vam tablica dati popis upravljačkih programa za odgovarajuće preglednike i njihove veze za preuzimanje. Slijedite isti postupak za ostale upravljačke programe kao i za IEDriverServer.
mysql pitanja i odgovori za iskusne
Naziv preglednika | Ime vozača | Poveznica za skidanje | |
---|---|---|---|
:čisto | : f8 | :lijevo | : numpad7 |
Firefox | vozač gekona | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | kromedriver | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari ne radi za prozore |
Watir instalacija:
- Idite na naredbeni redak.
- Upišite naredba> gem install watir
- Pritisnite tipku za unos.
Watir će se instalirati. Sada možete početi koristiti Watir.
Watir instalacija Za Mac
Koraci:
- Instaliranje Ruby
- Instaliranje Ruby dragulja
- Ažuriranje Ruby dragulja
- Instaliranje Selenium WebDriver
- Instaliranje IE Driver / Gecko Driver / Chrome Driver / safari vozača
- Instaliranje Watira
Nije potrebno instalirati Ruby na Mac. Stoga smo prvi korak već pokrili. Uštedjet ćete puno vremena. Verziju rubyja provjerit ćemo naredbom: $ rubin -v
Evo, imamo to kao - ruby 2.0.0p648 (revizija 16.12.2015. 53162) (universal.x86_64-darwin16)
Sada ćemo provjeriti verziju ruby: dragulj $ dragulj -v
Evo ga - 2.0.14.1. Ažurirat ćemo svoje rubinske dragulje pomoću naredbe- $ sudo gem update —sustav. Instalirat ćemo Selenium WebDriver pomoću naredbe: $ sudo gem instalirajte selenium-webdriver —no-ri —no-rdoc
Postoji mogućnost da dobijete sljedeću pogrešku prilikom instaliranja Selenium webdrivera ili ažuriranja ruby dragulja.
Pogreška :YAML sigurno utovar nije dostupan. Molimo nadogradite psych na verziju koja podržava sigurno učitavanje (> = 2.0).
Da bismo riješili ovu pogrešku moramo ažurirati naš Ruby. Da bismo ažurirali Ruby, prvo ćemo trebati upravitelj verzija Ruby, možete ga dobiti pomoću ove naredbe ($ curl -L https://get.rvm.io | bash -s stabilan) . Da biste instalirali najnoviju verziju tipa Ruby ($ rvm instalirati ruby - (verzija)) . Ponovo pokrenite terminal nakon što je rvm potpuno instaliran.
Sada moramo postaviti ovu najnoviju verziju kako je želimo koristiti. Dakle, upišite ($ rvm use ruby-2.4.1). Da biste ovu verziju postavili kao zadanu, upotrijebite sljedeću naredbu: ($ rvm - zadana upotreba 2.4.1). Sada ponovo ažurirajte ruby dragulje. Pokušajte instalirati selenium-webdriver. Ako ponovno dobijete bilo kakvu pogrešku, možda će vam trebati alati za programere naredbenog retka, pa je instalirajte pomoću ($ git —version). Kao što već imamo, ovdje ga nismo instalirali.
Da bismo instalirali chrome upravljački program, trebamo homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Instalirajmo upravljački program za Chrome. ($ brew instaliraj chromedriver).
Isprobajte ovaj kod u terminalu:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
S ovim kodom vaš bi se preglednik trebao otvoriti s navedenom web stranicom. Sada ćemo instalirati Watir: ($ gem instalirajte vodu).
Završili smo s postupkom instalacije. Sada možete početi pisati testne skripte.
Kako se koristi Watir: Stvaranje i izvršavanje testnih slučajeva
Test slučajeve ili skripte možete pisati u Notepad. Spremite ovu datoteku s .rb nastavkom.
Primjer: Pretpostavimo da ste stvorili jednu datoteku test.rb. Da biste pokrenuli ovu skriptu / program, dvaput kliknite ovu datoteku ili slijedite korake navedene u nastavku. Pretpostavimo da ste ovu datoteku spremili u pogon C. Adresa ove datoteke je “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Pritisnite tipku ENTER. Da biste uredili ovu datoteku, kliknite je desnom tipkom miša i odaberite opciju Otvori pomoću.
# 1) Paralelno izvođenje testnih slučajeva
Ako ste napisali dva testna slučaja i spremili ih kao test1.rb i test2.rb. Da biste paralelno pokrenuli ova dva testa, morate slijediti ove korake:
gdje je mrežni sigurnosni ključ na usmjerivaču
Slika 9: Idite na naredbeni redak i upišite (> gem instalirati paralelne_testove). Vidjet ćete sljedeću poruku.
Zatim pokrenite svoje testove.
>parallel_test test1.rb test2.rb
# 2) Izrada probnog paketa
Ako želite da se nekoliko testova često izvodi i dodate ih u paket za testiranje, ovdje je kod za to.
Kodirati:
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.
Spremite ovu datoteku kao testSuite.rb i pokrenite
C: Ruby_Programs> ruby testSuite.rb
Watirovi primjeri
Primjer 1:
Budući da je ovo naš prvi program, samo ćemo otvoriti web stranicu 'Google.co.in' i kliknuti na vezu Gmail.
Kodirati:
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
Razumijevanje kodeksa
# 1) zahtijeva 'watir' # Ovdje kažemo da ćemo zahtijevati Watir knjižnicu za pokretanje našeg programa i učitat će se ovom izjavom.
# 2) test_site = “https://www.google.co.in/” # Ovdje deklariramo varijablu.
# 3) browser = Watir :: Browser.new: firefox # Ovdje otvaramo preglednik Firefox.
Watir :: Browser.new: internet_explorer # Za Internet Explorer
Watir :: Browser.new: safari # Za Safari
# 4) browser.goto test_site # Ili browser.goto “https://www.google.co.in/” # naredba goto koristi se za navigaciju do navedenog web mjesta.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wmstric).click # Ovdje kliknemo vezu Gmail. Hiperveza se naziva vezom u kodu i mi koristimo njezino svojstvo 'href' za pronalaženje ove hiperveze.
# 6) stavlja 'Test Executed' # Ovaj će redak napisati niz 'Test Executed' u naredbeni redak.
# 7) browser.close # Ovaj će redak zatvoriti preglednik.
Ako ne spominjemo imena preglednika, tada ćemo u naš kod napisati samo ovaj redak (Watir :: Browser.new), Watir će otvoriti preglednik Chrome jer je Chrome zadani preglednik za Watir.
Primjer 2:
U ovom ćemo primjeru otvoriti web stranicu www.google.co.in. Zatim ćemo pretražiti tekst 'Ručno testiranje'. Zatim ćemo se vratiti na početnu stranicu i kliknuti vezu 'Gmail'.
Kodirati:
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'
Razumijevanje kodeksa:
# 1) browser.goto https://www.google.co.in - Ovdje se nalazimo na navedenom web mjestu.
# 2) ako browser.title.include? 'Google' - Ovdje provjeravamo naslov web stranice je li očekivano ili nije. U ostali dio ovog 'Ako' stavljamo ovu izjavu 'Ili ste na pogrešnoj stranici ili stranica nije pronađena'. Ova će se izjava prikazati u naredbenom retku.
# 3) browser.text_field (: class, “gsfi”). Set “Manual Testing” - Ovdje unosimo tekst “Manual Testing” u okvir za pretraživanje pretraživanja.
# 4) browser.button (: ime, “btnK”). Klik - Ovdje kliknemo gumb “Google Search”.
# 5) ako browser.text.include? 'Ručno testiranje postupak je otkrivanja nedostataka' - Sada provjeravamo tekst na web stranici kako bismo provjerili jesmo li dobili točne rezultate pretraživanja. U dio 'Ostalo' ove izjave 'Ako' stavljamo izjavu 'Pogrešan rezultat pronađen'.
# 6) stavlja 'Naslov web stranice' + browser.title - Ovdje prikazujemo naslov web stranice u naredbenom retku.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.pngstric).click - Ovdje kliknemo na sliku za povratak na početnu stranicu.
# 8) browser.link (: class, “gb_P”). Click - Ovdje kliknemo vezu Gmail.
# 9) stavlja 'Sad naslov web stranice' + browser.title - Sad opet stavljamo naslov web stranice u naredbeni redak. To bi trebao biti naslov Gmail stranice.
# 10) browser.close - Ovdje zatvaramo preglednik.
# 11) stavlja 'Test je uspješno izveden'. Samo da bismo bili sigurni da su svi koraci izvedeni ispravno, stavljamo ovu izjavu u naredbeni redak.
Primjer 3:
U ovom ćemo primjeru pokušati upotrijebiti maksimalne Watirove naredbe, kako biste razumjeli kako ih koristiti. Vidjet ćemo i njegov opis zajedno s kodom.
Šifra s komentarima:
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
Čekanja i posebni ključevi
Postoje dvije vrste izjava o čekanju koje podržava Watir. Prvo je eksplicitno čekanje, a drugo je implicitno čekanje. Sintaksu za obje vidjeli smo u gornjem kodu, tj. Primjeru 3.
Posebni ključevi koje podržava Watir: Prvo ćemo vidjeti sintaksu korištenja ovih posebnih tipki.
- browser.send_keys: page_up # Ovo smo koristili u našem kodu.
- browser.element.send_keys (: control, ‘c’),: cancel
- browser.element.click (: enter,: space)
Slijedi popis posebnih tipki koje podržava Watir:
:Unesi | : f1 | :kontrolirati | : numpad0 |
: pomak | : f2 | :sve | : numpad1 |
: null | : f3 | :pauza | : numpad2 |
:otkazati | : f4 | :pobjeći | : numpad3 |
:Pomozite | : f5 | :prostor | : numpad4 |
: backspace | : f6 | :kraj | : numpad5 |
: tab | : f7 | :Dom | : numpad6 |
:povratak | : f9 | : gore | : numpad8 |
: pomicanje ulijevo | : f10 | :pravo | : numpad9 |
: left_control | : f11 | : dolje | :pomnožiti |
: page_up | : f12 | :umetnuti | :dodati |
:stranica niže | : meta | :izbrisati | :oduzeti |
: strelica_lijevo | :naredba | : jednako | : podijeliti |
Ispitivanje regresije s Watirom
U regresijskom testiranju provjeravamo jesu li promjene utjecale na nepromijenjeni dio ili ne.
Za to moramo ponoviti naše prethodne testove. Regresijsko testiranje trajat će dugo ako se radi ručno. Watir je jedan od najboljih alata za regresijsko testiranje jer je pisanje, održavanje / ažuriranje i izvršavanje testnih slučajeva jednostavno.
Zaključak
Da zaključimo, možemo reći da je Watir lako naučiti alat. To je alat otvorenog koda, stoga je isplativ i jednostavan za upotrebu. Iako nema toliko prednosti u odnosu na Selenium WebDriver, bolji je alat u usporedbi s mnogim drugim alatima.
Podržava programiranje, pa je stoga puno bolje od ostalih alata za snimanje i reprodukciju. To je doista jedan od najboljih alata za regresijsko testiranje.
Jeste li probali Watir alat?
Preporučena literatura
- 30+ najboljih vodiča za selen: naučite selen na stvarnim primjerima
- Vodič za ChromeDriver Selenium: Testovi Selenium Webdriver-a na Chromeu
- 180+ primjera testiranja web aplikacija (Primjer kontrolnog popisa)
- Top 30+ alata za testiranje web aplikacija u 2021. godini (sveobuhvatan popis)
- Kompletan vodič za testiranje web aplikacija (Kako testirati web stranicu)
- 10 najpopularnijih alata za ispitivanje regresije 2021
- Što je regresijsko ispitivanje? Definicija, alati, metoda i primjer
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)