getting started with watir
Watir är en förkortning för 'Web Application Testing In Ruby'. Lär dig hur du installerar och använder Watir för att skapa och köra testfall med kodexempel:
Watir uttalas som vatten. Det är en öppen källkodssamling av Ruby-bibliotek. Eftersom det är webbapplikationstestning i Ruby använder den Ruby som skriptspråk.
Vad du kommer att lära dig:
- Installation av Watir
- Hur man använder Watir: Skapande och genomförande av testfall
- Watir Exempel
- Väntar och specialtangenter
- Regressionstestning med Watir
- Slutsats
- Rekommenderad läsning
Installation av Watir
Man bör ha grundläggande kunskaper om HTML, programmering och Ruby för att använda Watir. Eftersom Ruby själv är lätt att använda och förstå, är det dock inte så svårt att lära sig det och använda Watir.
Watir Installation för Windows
Det finns en stor chans att du inte har Ruby installerat på din dator. För att kontrollera det, öppna Kommandotolken och skriv > ruby –v och tryck på 'Enter' .
Fig 1: Om du inte har Ruby installerat får du följande meddelande.
Om Ruby är installerat får du dess version med det här kommandot. Du kan klicka här för att ladda ner den senaste versionen av Ruby. Välj lämplig version, webbplatsen själv kommer att rekommendera Ruby 2.4.X som x64- eller x86-installationsprogram.
Fig 2: När du klickar på den här versionen får du följande fönster.
Fig 3: Klicka på Starta nedladdningsknappen så visas följande fönster.
Eftersom nedladdningsprocessen är pausad i syfte att ta en skärmdump kan du se 'Start' knappen, annars kommer du att kunna se 'Paus' knappen här. Gå nu till platsen / mappen där din fil laddas ner (här som du kan se i fig 2 är platsen: C: Användare Ojas Nedladdningar Program ).
Fig 4: Kör filen rubyinstaller-2.4.3-2-x64.exe.
Bild 5: Välj 'Jag accepterar licensen' och klicka på 'Nästa':
Bild 6: Klicka på Installera och sedan på Slutför.
Ovanstående skärm kommer att fråga ”Vilka komponenter som ska installeras?” Om du inte är säker trycker du bara på Enter-tangenten så kommer systemet att installera alla tre komponenterna, dvs. MSYS2 basinstallation, MSYS2 systemuppdatering och MSYS2 och MINGW utvecklingsverktygskedja .
MSYS2-verktyg är nödvändiga för att kompilera C-baserade rubinstenar. MSYS2 kan också installeras manuellt.
Bild 7: MSYS2 installeras manuellt
Det tar några minuter att installera alla komponenter. Stäng bara kommandotolken och öppna den igen. Skriv sedan> ruby –v och tryck på Enter-tangenten. Om du får följande meddelande betyder det att Ruby har installerats.
ruby 2.4.3p205 (2017-12-14 version 61247) (x64-mingw32)
Programvara som är skriven i Ruby kallas Ruby Gems. Vi har installerat Ruby men det finns en möjlighet att vi kanske inte har den senaste versionen av dessa Ruby Gems. Därför måste vi först kontrollera denna pärlaversion med kommandot> pärla –v, här har vi version 2.6.14.
Vi kommer att uppdatera det med kommandot:
> pärlauppdatering –system
När du är klar får vi meddelandet - Systemprogramvaran för RubyGems har uppdaterats .
Nu måste vi installera Selenium-drivrutinspärla med kommandot (> pärla installera selen-web-drivrutinen –no-ri –no-rdoc).
Det kommer att installeras och du får följande meddelande:
Hämtar: selen-web-driver-3.11.0.gem (100%)
Selen-web-drivrutin-3.11.0 har installerats
1 pärla installerad
** Om du får ett Windows Firewall-meddelande, stäng det fönstret.
Nu behöver vi IEDriverServer. Klick här för att ladda ner IEDriverServer
Klicka på den första länken och välj sedan lämplig version för din dator, dvs Win32 eller X64.Zip-filen hämtas. Följ nedanstående steg för att veta var du ska extrahera dessa filer:
Gå till Kommandotolken.
Skriv> PATH
Fig 8 : Följande resultat uppnås:
Vi extraherar våra filer till PATH C: Ruby24-x64 bin . Extrahera filer till din Ruby-mappsökväg. Skriv nu irb i kommandotolken och tryck på ENTER. IRB står för Interactive Ruby.
> kräver 'selen-webdriver'
Du får => sant
> webbläsare = Selen :: WebDriver.for: internet_explorer
Din IE-webbläsare öppnas och meddelandet visas: “Detta är den första startsidan för WebDriver-servern” .
För att öppna webbsidan www.google.co.in i webbläsaren IE skriver du kommandot:
> webbläsare. få “https://www.google.co.in/”
Följande tabell ger dig en lista över drivrutiner för respektive webbläsare och deras nedladdningslänkar. Följ samma procedur för de andra drivrutinerna och förklaras för IEDriverServer.
Webbläsarens namn | Förarens namn | Nedladdningslänk | |
---|---|---|---|
:klar | : f8 | :vänster | : numpad7 |
Firefox | geckodriver | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | kromförare | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari fungerar inte för Windows |
Watir Installation:
- Gå till kommandotolken.
- Skriv kommando> gem install watir
- Tryck på Enter-knappen.
Watir installeras. Nu kan du börja använda Watir.
Installation av Watir För Mac
Steg:
- Installerar Ruby
- Installerar Ruby pärla
- Uppdaterar Ruby gem
- Installerar Selen WebDriver
- Installerar IE Driver / Gecko Driver / Chrome Driver / safari driver
- Installera Watir
Det finns inget behov av att installera Ruby på Mac. Därför har vi redan täckt det första steget. Det kommer att spara mycket tid. Vi kommer att kontrollera versionen av rubin med kommandot: $ rubin -v
Här har vi det som - ruby 2.0.0p648 (2015-12-16 version 53162) (universal.x86_64-darwin16)
Nu kommer vi att kontrollera versionen av rubin: pärla $ pärla -v
Här är det - 2.0.14.1. Vi kommer att uppdatera våra rubin ädelstenar med kommandot- $ sudo gem update - system. Vi installerar Selenium WebDriver med kommandot: $ sudo gem installera selen-webdriver —no-ri —no-rdoc
Det finns en möjlighet att få följande fel när du installerar Selenium webdriver eller uppdaterar ruby-pärlan.
Fel :YAML säker laddning är inte tillgänglig. Uppgradera psych till en version som stöder säker laddning (> = 2.0).
För att lösa detta fel måste vi uppdatera vår Ruby. För att uppdatera Ruby behöver vi först Ruby version manager, du kan hämta det med det här kommandot ($ curl -L https://get.rvm.io | bash -s stabil) . För att installera den senaste versionen av Ruby-typen ($ rvm installera rubin - (version)) . Starta om terminalen när rvm är helt installerad.
Nu måste vi ställa in den här senaste versionen eftersom vi vill använda den. Så skriv ($ rvm use ruby-2.4.1). För att ställa in den här versionen som standard, använd följande kommando: ($ rvm —standard använder 2.4.1). Uppdatera nu ruby ädelstenar igen. Prova att installera selen-webdriver. Om du får något fel igen kan du behöva kommandoradsutvecklarverktyg och installera det med hjälp av ($ git —version). Som vi redan har har vi inte installerat det här.
För att installera kromdrivrutinen behöver vi homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Låt oss installera Chrome-drivrutinen. ($ brew install chromedriver).
Prova den här koden i terminalen:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Med den här koden ska din webbläsare öppna med den angivna webbsidan. Nu installerar vi Watir: ($ gem install water).
Vi är klara med installationsprocessen. Du kan nu börja skriva testskript.
Hur man använder Watir: Skapande och genomförande av testfall
Du kan skriva testfall eller skript i Anteckningar. Spara den här filen med .rb-förlängning.
Exempel: Antag att du har skapat en fil test.rb. För att köra detta skript / program dubbelklickar du på den här filen eller följer stegen nedan. Antag att du har sparat den här filen i C-enheten. Adressen till den här filen är “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Tryck på ENTER-knappen. För att redigera den här filen, högerklicka på den här filen och välj alternativet Öppna med.
# 1) Löpande testfall parallellt
Om du har skrivit två testfall och sparat dem som test1.rb och test2.rb. För att köra dessa två tester parallellt måste du följa dessa steg:
Bild 9: Gå till kommandotolken och skriv (> pärla installera parallelltestar). Följande meddelande visas.
Kör sedan dina tester.
hur man öppnar dat-filen i Windows
>parallel_test test1.rb test2.rb
# 2) Skapa testsvit
Om du vill att några tester ska köras ofta och lägger till dem i testpaketet är här koden för det.
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.
Spara den här filen som testSuite.rb och kör
C: Ruby_Programs> ruby testSuite.rb
Watir Exempel
Exempel 1:
Eftersom detta är vårt första program öppnar vi bara webbsidan ”Google.co.in” och klickar på Gmail-länken.
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
Förstå koden
# 1) kräver 'watir' # Här säger vi att vi kommer att kräva att Watir-biblioteket kör vårt program och det kommer att laddas med detta uttalande.
# 2) test_site = “https://www.google.co.in/” # Här förklarar vi variabeln.
# 3) webbläsare = Watir :: Browser.new: firefox # Här öppnar vi webbläsaren Firefox.
Watir :: Browser.new: internet_explorer # För Internet Explorer
Watir :: Browser.new: safari # För Safari
# 4) browser.goto test_site # Eller browser.goto “https://www.google.co.in/” # goto-kommandot används för att navigera till den angivna webbplatsen.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wm”).click # Här klickar vi på Gmail-länken. Hyperlänken kallas en länk i koden och vi använder dess “href” -egenskap för att lokalisera denna hyperlänk.
# 6) sätter 'Test utfört' # Den här raden skriver strängen 'Test utförd' på kommandotolken.
# 7) browser.close # Denna rad stänger webbläsaren.
Om vi inte nämner webbläsarnamnen skriver vi bara den här raden i vår kod (Watir :: Browser.new), Watir öppnar Chrome-webbläsaren eftersom Chrome är standardwebbläsaren för Watir.
Exempel 2:
I det här exemplet öppnar vi webbsidan www.google.co.in. Sedan söker vi texten ”Manuell testning”. Därefter kommer vi tillbaka till startsidan och klickar på länken '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'
Förstå koden:
# 1) browser.goto https://www.google.co.in - Här navigerar vi till den angivna webbplatsen.
# 2) om browser.title.include? ”Google” - Här kontrollerar vi titeln på webbsidan som om den är som förväntat eller inte. I den andra delen av detta 'Om' lägger vi detta uttalande 'Antingen är du på fel sida eller hittades inte sidan'. Detta uttalande kommer att visas på kommandotolken.
# 3) browser.text_field (: class, “gsfi”). Ställ in “Manuell testning” - Här skriver vi in texten ”Manuell testning” i söktextrutan.
# 4) browser.button (: name, “btnK”). Klicka - Här klickar vi på “Google Search” -knappen.
# 5) om browser.text.include? ”Manuell testning är en process för att ta reda på bristerna” - Nu kontrollerar vi texten på webbsidan för att verifiera om vi har rätt sökresultat. I ”Else” -delen av detta ”If” -uttalande sätter vi uttalandet ”Fel resultat hittat”.
# 6) sätter 'Titel på webbsidan' + browser.title - Här visar vi titeln på webbsidan i kommandotolken.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”).click - Här klickar vi på bilden för att gå tillbaka till hemsidan.
# 8) browser.link (: class, “gb_P”). Klicka - Här klickar vi på Gmail-länken.
# 9) sätter 'Nu titeln på webbsidan' + browser.title - Nu lägger vi igen titeln på webbsidan på kommandotolken. Det ska vara rubriken på Gmail-sidan.
# 10) browser.close - Här stänger vi webbläsaren.
# 11) sätter 'Test utförs framgångsrikt'. Bara för att se till att alla steg utförs korrekt lägger vi detta uttalande på kommandotolken.
Exempel 3:
I det här exemplet försöker vi använda maximala Watir-kommandon så att du förstår hur du använder dem. Vi kommer också se dess beskrivning tillsammans med koden.
Kod med kommentarer:
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
Väntar och specialtangenter
Det finns två typer av väntetal som stöds av Watir. Det första är en uttrycklig väntan och den andra är en implicit väntan. Vi har sett syntaxen för båda i ovanstående kod, dvs. exempel 3.
Specialtangenter som stöds av Watir: Först ser vi syntaxen för att använda dessa specialtangenter.
- browser.send_keys: page_up # Vi har använt detta i vår kod.
- browser.element.send_keys (: kontroll, ‘c’),: avbryt
- browser.element.click (: enter,: space)
Nedan följer en lista över specialtangenterna som stöds av Watir:
:stiga på | : f1 | :kontrollera | : numpad0 |
:flytta | : f2 | :allt | : numpad1 |
:null | : f3 | :paus | : numpad2 |
:Avbryt | : f4 | :fly | : numpad3 |
:hjälp | : f5 | :Plats | : numpad4 |
: bakre utrymme | : f6 | :slutet | : numpad5 |
:flik | : f7 | :Hem | : numpad6 |
:lämna tillbaka | : f9 | :upp | : numpad8 |
:vänster Shift | : f10 | :rätt | : numpad9 |
: vänster_kontroll | : f11 | :ner | :multiplicera |
:sida upp | : f12 | :Föra in | :Lägg till |
:sida ned | : meta | :radera | :subtrahera |
: pil_ vänster | :kommando | : är lika med | : dela upp |
Regressionstestning med Watir
Vid regressionstest kontrollerar vi om förändringarna har påverkat den oförändrade delen eller inte.
För det måste vi köra om våra tidigare testfall. Regressionstestning är tidskrävande om det görs manuellt. Watir är ett av de bästa verktygen för regressionstest, eftersom det är enkelt att skriva, underhålla / uppdatera och utföra testfall.
Slutsats
Avslutningsvis kan vi säga att Watir är lätt att lära sig verktyget. Det är ett verktyg med öppen källkod, därför är det kostnadseffektivt och enkelt att använda. Även om det inte har så många fördelar jämfört med Selenium WebDriver, är det ett bättre verktyg jämfört med många andra verktyg.
Den stöder programmering, alltså mycket bättre än andra inspelnings- och uppspelningsverktyg. Det är verkligen ett av de bästa verktygen för regressionstestning.
Har du försökt Watir-verktyget?
Rekommenderad läsning
- 30+ bästa selen-självstudier: Lär dig selen med riktiga exempel
- ChromeDriver Selen Tutorial: Selen Webdriver Tests på Chrome
- 180+ Exempel på testfall i webbapplikationer (exempelchecklista)
- Topp 30+ testverktyg för webbapplikationer 2021 (omfattande lista)
- Testning av webbapplikationer komplett guide (Hur man testar en webbplats)
- Topp 10 mest populära regressionstestverktyg 2021
- Vad är regressionstestning? Definition, verktyg, metod och exempel
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)