getting started with watir
Watir je kratica za 'Testiranje spletnih aplikacij v rubiju'. Naučite se namestiti in uporabiti Watir za ustvarjanje in zagon preizkusnih primerov s primeri kode:
Watir se izgovarja kot voda. Je odprtokodna zbirka knjižnic Ruby. Ker gre za testiranje spletnih aplikacij v Rubyju, uporablja Ruby kot svoj skriptni jezik.
Kaj se boste naučili:
- Namestitev Watirja
- Kako uporabljati Watir: izdelava in izvedba testnih primerov
- Primeri Watir
- Čakanja in posebni ključi
- Regresijsko testiranje z Watirjem
- Zaključek
- Priporočeno branje
Namestitev Watirja
Za uporabo Watirja bi morali imeti osnovno znanje HTML, programiranje in Ruby. Ker pa je Ruby sam enostaven za uporabo in razumevanje, učenje in uporaba Watirja ni tako težko.
Namestitev Watirja za Windows
Obstaja velika verjetnost, da v računalniku nimate nameščene Ruby. Če želite to preveriti, odprite ukazni poziv in vnesite > ruby –v in pritisnite ‘Enter’ .
Slika 1: Če Ruby ni nameščen, boste prejeli naslednje sporočilo.

Če je Ruby nameščen, boste s tem ukazom dobili njegovo različico. Lahko kliknete tukaj za prenos najnovejše različice Ruby. Izberite ustrezno različico, samo spletno mesto bo priporočilo Ruby 2.4 .X kot namestitveni program x64 ali x86.
Slika 2: Ko kliknete to različico, se prikaže naslednje okno.

Slika 3: Kliknite gumb Začni prenos in prikazalo se bo naslednje okno.

Ker je postopek nalaganja zaustavljen zaradi posnetka zaslona, lahko vidite ‘Začni’ v nasprotnem primeru boste lahko videli 'Pavza' gumb tukaj. Zdaj pojdite na lokacijo / mapo, kjer je datoteka prenesena (tukaj je, kot vidite na sliki 2, lokacija: C: Users Ojas Downloads Programs ).
Slika 4: Izvedite datoteko rubyinstaller-2.4.3-2-x64.exe.

Slika 5: Izberite 'Sprejem licenco' in kliknite 'Naprej':

Slika 6: Kliknite Namesti in nato Končaj.

Zgornji zaslon vas bo vprašal ‘Katere komponente je treba namestiti?’ Če niste prepričani, samo pritisnite tipko Enter in sistem bo namestil vse tri komponente, tj. Osnovna namestitev MSYS2, posodobitev sistema MSYS2 ter orodjarna za razvoj MSYS2 in MINGW .
Za sestavljanje rubinastih draguljev na osnovi C so potrebna orodja MSYS2. MSYS2 lahko namestite tudi ročno.
Slika 7: MSYS2 ročno nameščen

Namestitev vseh komponent bo trajala nekaj minut. Samo zaprite ukazni poziv in ga znova odprite. Nato vnesite> ruby –v in pritisnite tipko Enter. Če dobite naslednje sporočilo, to pomeni, da je Ruby uspešno nameščen.
ruby 2.4.3p205 (revizija 6.1247 2017-12-14) (x64-mingw32)
kako narediti primerek seznama v javi -
Programska oprema, napisana v jeziku Ruby, se imenuje Ruby Gems. Namestili smo Ruby, vendar obstaja možnost, da morda ne bomo imeli najnovejše različice teh Ruby Gems. Zato moramo najprej preveriti to različico dragulja z ukazom> gem –v, tukaj imamo različico 2.6.14.
Posodobili ga bomo z ukazom:
> sistem za posodobitev draguljev
Ko končamo, bomo dobili sporočilo - Posodobljena sistemska programska oprema RubyGems .
Zdaj moramo namestiti dragulj spletnega gonilnika Selenium z uporabo ukaz (> gem namestite gonilnik za selen-no-ri -no-rdoc).
Namestili ga bodo in dobili boste naslednje sporočilo:
Pridobivanje: selen-spletni gonilnik-3.11.0.gem (100%)
Uspešno nameščen gonilnik selenium-web-3.11.0
Nameščen 1 dragulj
** Če dobite sporočilo požarnega zidu Windows, zaprite to okno.
Zdaj potrebujemo IEDriverServer. Kliknite tukaj za prenos IEDriverServer
Kliknite prvo povezavo in nato izberite ustrezno različico za svoj računalnik, tj. Win32 ali X64.Zip datoteka se bo prenesla. Če želite vedeti, kje izvleči te datoteke, sledite spodnjim korakom:
Odprite ukazni poziv.
Tip> POT
Slika 8 : Dobili bomo naslednji rezultat:

Datoteke bomo ekstrahirali v PATH C: Ruby24-x64 bin . Izvlecite datoteke na pot do mape Ruby. Zdaj v ukazni poziv vnesite irb in pritisnite ENTER. IRB pomeni Interactive Ruby.
> zahtevajo “selenium-webdriver”
Dobili boste => true
> brskalnik = Selenium :: WebDriver.for: internet_explorer
Vaš brskalnik IE se bo odprl in videli boste sporočilo: 'To je začetna začetna stran za strežnik WebDriver' .
Če želite odpreti spletno stran www.google.co.in v brskalniku IE v ukazu:
> brskalnik. poiščite »https://www.google.co.in/«
V spodnji tabeli boste našli seznam gonilnikov za ustrezne brskalnike in njihove povezave za prenos. Upoštevajte enak postopek za ostale gonilnike, kot je razloženo za IEDriverServer.
| Ime brskalnika | Ime gonilnika | Povezava za prenos | |
|---|---|---|---|
| : jasno | : f8 | : levo | : numpad7 |
| Firefox | voznik gekona | https://github.com/mozilla/geckodriver/releases | |
| Google Chrome | kromedriver | http://chromedriver.storage.googleapis.com/index.html | |
| Safari | - | Safari ne deluje za Windows |
Namestitev Watir:
- Pojdite v ukazni poziv.
- Vnesite ukaz> gem install watir
- Pritisnite gumb za vnos.
Watir bo nameščen. Zdaj lahko začnete uporabljati Watir.
Namestitev Watir Za Mac
Koraki:
- Namestitev Rubyja
- Namestitev Ruby dragulja
- Posodabljanje dragulja Ruby
- Namestitev Selenium WebDriver
- Namestitev gonilnika IE / Gecko Driver / Chrome Driver / safari
- Namestitev Watirja
Na Mac ni treba namestiti Rubyja. Zato smo prvi korak že pokrili. To bo prihranilo veliko časa. Različico ruby bomo preverili z ukazom: $ ruby -v
Tukaj imamo kot - ruby 2.0.0p648 (revizija 16.12.2015 53162) (universal.x86_64-darwin16)
Zdaj bomo preverili različico ruby: gem $ gem -v
Tukaj je - 2.0.14.1. Naše rubinaste dragulje bomo posodobili z ukazom- $ sudo gem update - sistem. Z ukazom bomo namestili Selenium WebDriver: $ sudo gem namestite selenium-webdriver —no-ri —no-rdoc
Med namestitvijo spletnega gonilnika Selenium ali posodabljanjem ruby dragulja lahko pride do naslednje napake.
Napaka :Varno nalaganje YAML ni na voljo. Prosimo, nadgradite Psych na različico, ki podpira varno nalaganje (> = 2.0).
Da bi odpravili to napako, moramo posodobiti naš Ruby. Če želite posodobiti Ruby, bomo najprej potrebovali upravitelja različic Ruby, ki ga lahko dobite s tem ukazom ($ curl -L https://get.rvm.io | bash -s stabilen) . Če želite namestiti najnovejšo različico vrste Ruby ($ rvm namestite ruby - (različica)) . Ko je rvm popolnoma nameščen, znova zaženite terminal.
Zdaj moramo nastaviti to najnovejšo različico, kot jo želimo uporabiti. Torej vnesite ($ rvm use ruby-2.4.1). Če želite to različico nastaviti kot privzeto, uporabite naslednji ukaz: ($ rvm - privzeta uporaba 2.4.1). Zdaj znova posodobite ruby dragulje. Poskusite namestiti selenium-webdriver. Če znova dobite napako, boste morda potrebovali orodja za razvijalce ukazne vrstice, zato ga namestite s pomočjo ($ git —version). Kot že imamo, ga tukaj nismo namestili.
Za namestitev gonilnika chrome potrebujemo homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Namestimo gonilnik za Chrome. ($ brew namesti kromedriver).
Preizkusite to kodo v terminalu:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”S to kodo se mora vaš brskalnik odpreti z določeno spletno stranjo. Zdaj bomo namestili Watir: ($ gem namestite vodo).
Končali smo s postopkom namestitve. Zdaj lahko začnete pisati testne skripte.
Kako uporabljati Watir: izdelava in izvedba testnih primerov
Testne primere ali skripte lahko napišete v Beležnico. Shranite to datoteko s pripono .rb.
Primer: Recimo, da ste ustvarili eno datoteko test.rb. Če želite zagnati ta skript / program, dvokliknite to datoteko ali sledite spodnjim korakom. Recimo, da ste to datoteko shranili v pogon C. Naslov te datoteke je “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rbPritisnite gumb ENTER. Če želite urediti to datoteko, z desno miškino tipko kliknite to datoteko in izberite možnost Odpri z.
# 1) Vzporedno izvajanje testnih primerov
Če ste napisali dva testna primera in jih shranili kot test1.rb in test2.rb. Če želite ta dva preskusa izvajati vzporedno, morate slediti tem korakom:
koliko vrst datotek je python
Slika 9: Pojdite v ukazni poziv in vnesite (> gem namesti vzporedne_testove). Videli boste naslednje sporočilo.

Nato zaženite teste.
>parallel_test test1.rb test2.rb# 2) Ustvarjanje testne zbirke
Če želite, da se nekaj testov pogosto izvaja in jih dodate v paket, je tukaj koda zanj.
Koda:
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. Shranite to datoteko kot testSuite.rb in zaženite
C: Ruby_Programs> ruby testSuite.rb
Primeri Watir
Primer 1:
Ker je to naš prvi program, bomo samo odprli spletno stran 'Google.co.in' in kliknili povezavo Gmail.
Koda:
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 Razumevanje kodeksa
# 1) zahtevajo 'watir' # Tu povemo, da bomo za zagon našega programa zahtevali knjižnico Watir, ki se bo naložila s to izjavo.
# 2) test_site = “https://www.google.co.in/” # Tu deklariramo spremenljivko.
# 3) browser = Watir :: Browser.new: firefox # Tukaj odpiramo brskalnik Firefox.
Watir :: Browser.new: internet_explorer # Za Internet Explorer
Watir :: Browser.new: safari # Za Safari
# 4) browser.goto test_site # Ali browser.goto “https://www.google.co.in/” # ukaz goto se uporablja za navigacijo na določeno spletno mesto.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wmassign).click # Tu kliknemo povezavo Gmail. Hiperpovezava se imenuje povezava v kodi in za iskanje te hiperpovezave uporabljamo njeno lastnost 'href'.
# 6) postavi “Test Executed” # Ta vrstica bo v ukazni poziv zapisala niz “Test Executed”.
# 7) browser.close # Ta vrstica bo zaprla brskalnik.
Če ne omenimo imen brskalnikov, bomo v našo kodo (Watir :: Browser.new) zapisali samo to vrstico, Watir bo odprl brskalnik Chrome, saj je Chrome privzeti brskalnik za Watir.
2. primer:
V tem primeru bomo odprli spletno stran www.google.co.in. Nato bomo poiskali besedilo »Ročno testiranje«. Nato se bomo vrnili na domačo stran in kliknili povezavo »Gmail«.
Koda:
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' Razumevanje kodeksa:
# 1) browser.goto https://www.google.co.in - Tu se nahajamo na določeno spletno mesto.
# 2) če browser.title.include? »Google« - Tu preverjamo naslov spletne strani, ali je po pričakovanjih ali ne. V drugem delu tega 'Če' pa postavljamo izjavo 'Ali ste na napačni strani ali strani ni mogoče najti'. Ta stavek bo prikazan v ukaznem pozivu.
# 3) browser.text_field (: class, “gsfi”). Set “Manual Testing” - Tu v besedilno polje za iskanje vnašamo besedilo “Manual Testing”.
# 4) browser.button (: ime, “btnK”). Klik - Tu kliknemo gumb “Google Search”.
# 5) če browser.text.include? »Ročno testiranje je postopek ugotavljanja napak« - Zdaj preverjamo besedilo na spletni strani, da preverimo, ali smo dobili pravi rezultat iskanja. V drugem delu te izjave 'Če' dajemo izjavo 'Najden je bil napačen rezultat'.
# 6) postavi 'Naslov spletne strani' + browser.title - tu bomo v ukaznem pozivu prikazali naslov spletne strani.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png·).click - Tu kliknemo sliko, da se vrnemo na domačo stran.
# 8) browser.link (: class, “gb_P”). Click - Tu kliknemo povezavo Gmail.
# 9) postavi 'Zdaj naslov spletne strani' + browser.title - Zdaj v ukazni poziv spet postavljamo naslov spletne strani. To bi moral biti naslov strani v Gmailu.
# 10) browser.close - Tu zapiramo brskalnik.
# 11) postavi »Test je bil uspešno izveden«. Da se prepričamo, da so vsi koraki pravilno izvedeni, to izjavo damo v ukazni poziv.
3. primer:
V tem primeru bomo poskusili uporabiti največ ukazov Watir, da boste razumeli, kako jih uporabljati. Videli bomo tudi njegov opis skupaj s kodo.
Koda s komentarji:
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 Čakanja in posebni ključi
Watir podpira dve vrsti izjav o čakanju. Prvo je eksplicitno čakanje, drugo pa implicitno čakanje. Sintakso obeh smo videli v zgornji kodi, torej v primeru 3.
Posebni ključi, ki jih podpira Watir: Najprej bomo videli sintakso uporabe teh posebnih tipk.
- browser.send_keys: page_up # To smo uporabili v naši kodi.
- browser.element.send_keys (: control, 'c'),: cancel
- browser.element.click (: enter,: space)
Sledi seznam posebnih tipk, ki jih podpira Watir:
| : vnesite | : f1 | : nadzor | : numpad0 |
| : premik | : f2 | :vse | : numpad1 |
| :nič | : f3 | :pavza | : numpad2 |
| : preklic | : f4 | : pobeg | : numpad3 |
| : pomoč | : f5 | : prostor | : numpad4 |
| : backspace | : f6 | : konec | : numpad5 |
| : zavihek | : f7 | : domov | : numpad6 |
| : vrnitev | : f9 | : gor | : numpad8 |
| :levi shift | : f10 | :prav | : numpad9 |
| : left_control | : f11 | : dol | : pomnoži |
| :stran gor | : f12 | :vstavi | : dodaj |
| : page_down | : meta | : izbriši | : odštej |
| : arrow_left | : ukaz | : enako | : deli |
Regresijsko testiranje z Watirjem
Pri regresijskem testiranju preverimo, ali so spremembe vplivale na nespremenjeni del ali ne.
Za to moramo ponoviti prejšnje testne primere. Regresijsko testiranje bo zamudno, če ga opravite ročno. Watir je eno najboljših orodij za regresijsko testiranje, saj je pisanje, vzdrževanje / posodabljanje in izvajanje testnih primerov enostavno.
Zaključek
Za konec lahko rečemo, da je Watir orodja enostavno naučiti. Je odprtokodno orodje, zato je stroškovno učinkovito in enostavno za uporabo. Čeprav nima toliko prednosti pred Selenium WebDriver, je boljše orodje v primerjavi s številnimi drugimi orodji.
Podpira programiranje, zato je veliko boljše od drugih orodij za snemanje in predvajanje. To je res eno najboljših orodij za regresijsko testiranje.
Ste že poskusili orodje Watir?
Priporočeno branje
- 30+ najboljših vaj za selen: Naučite se selen z resničnimi primeri
- Vadnica za ChromeDriver Selenium: Preskusi Selenium Webdriver v Chromu
- 180+ Primeri preizkusov spletnih aplikacij (vzorčni kontrolni seznam)
- Najboljših 30+ orodij za testiranje spletnih aplikacij leta 2021 (izčrpen seznam)
- Celoten vodnik za testiranje spletnih aplikacij (Kako preizkusiti spletno stran)
- 10 najbolj priljubljenih orodij za regresijsko testiranje leta 2021
- Kaj je regresijsko testiranje? Definicija, orodja, metoda in primer
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)