getting started with watir
Watir és un acrònim de 'Prova d'aplicacions web en rubí'. Obteniu informació sobre com instal·lar i utilitzar Watir per crear i executar casos de prova amb exemples de codi:
Watir es pronuncia com a aigua. És una col·lecció de codi obert de biblioteques Ruby. Com que és la prova d'aplicacions web a Ruby, utilitza Ruby com a llenguatge de seqüència d'ordres.
Què aprendreu:
- Instal·lació De Watir
- Com utilitzar Watir: creació i execució de casos de prova
- Exemples de Watir
- Esperes i claus especials
- Proves de regressió amb Watir
- Conclusió
- Lectura recomanada
Instal·lació De Watir
Per utilitzar Watir, s’hauria de tenir coneixements bàsics d’HTML, programació i Ruby. Tanmateix, com que Ruby és fàcil d’utilitzar i entendre, no és tan difícil aprendre’l i fer servir Watir.
Instal·lació de Watir per a Windows
És molt probable que no tingueu Ruby instal·lat a l’ordinador. Per comprovar-ho, obriu el símbol del sistema i escriviu > ruby –v i premeu 'Enter' .
Fig 1: si no teniu Ruby instal·lat, rebreu el següent missatge.
Si Ruby està instal·lat, obtindreu la seva versió amb aquesta ordre. Podeu fer clic aquí per descarregar la darrera versió de Ruby. Seleccioneu la versió adequada, el propi lloc web us recomanarà Ruby 2.4.X com a instal·lador x64 o x86.
Fig 2: Quan feu clic a aquesta versió, obtindreu la finestra següent.
Fig 3: Feu clic al botó Inicia la descàrrega i veureu la finestra següent.
Com que el procés de descàrrega es posa en pausa per fer una captura de pantalla, podeu veure el fitxer 'Començar' , en cas contrari, podreu veure el botó 'Pausa' aquí. Ara aneu a la ubicació / carpeta on es descarrega el fitxer (aquí, com podeu veure a la figura 2, la ubicació és: C: Usuaris Ojas Baixades Programes ).
Fig 4: Executeu el fitxer rubyinstaller-2.4.3-2-x64.exe.
Fig 5: seleccioneu 'Accepto la llicència' i feu clic a 'Següent':
Fig 6: Feu clic a Instal·la i després a Finalitza.
La pantalla anterior us preguntarà 'Quins components s’instal·laran?' Si no esteu segur, només heu de prémer la tecla Retorn i el sistema instal·larà els tres components, Instal·lació base MSYS2, actualització del sistema MSYS2 i cadena d’eines de desenvolupament MSYS2 i MINGW .
Les eines MSYS2 són necessàries per compilar gemmes de rubí basades en C. MSYS2 també es pot instal·lar manualment.
Fig 7: MSYS2 instal·lat manualment
La instal·lació de tots els components trigarà uns minuts. Tanqueu l’indicatiu d’ordres i torneu a obrir-lo. A continuació, escriviu> ruby –v i premeu la tecla Retorn. Si rebeu el següent missatge, significa que Ruby s'ha instal·lat correctament.
ruby 2.4.3p205 (revisió 14.12.2017 61247) (x64-mingw32)
El programari escrit en Ruby s’anomena Ruby Gems. Hem instal·lat Ruby, però és possible que no tinguem la versió més recent d’aquestes Ruby Gems. Per tant, primer, hem de comprovar aquesta versió de gem mitjançant l'ordre> gem –v, aquí tenim la versió 2.6.14.
L'actualitzarem mitjançant l'ordre:
> gem actualització –sistema
Un cop fet, rebrem el missatge. S'ha actualitzat el programari del sistema RubyGems .
Ara hem d’instal·lar el controlador web Selenium gem mitjançant l'ordre (> gem instal·la el controlador selenium-web –no-ri –no-rdoc).
S’instal·larà i rebrà el següent missatge:
Obtenció: selenium-web driver-3.11.0.gem (100%)
Selenium-web driver-3.11.0 s'ha instal·lat correctament
1 joia instal·lada
** Si rebeu algun missatge del tallafoc de Windows, tanqueu la finestra.
Ara necessitem IEDriverServer. Feu clic a aquí per descarregar IEDriverServer
Feu clic al primer enllaç i seleccioneu la versió adequada per al vostre ordinador, és a dir, es descarregarà el fitxer Win32 o X64.Zip. Per saber on extreure aquests fitxers, seguiu els passos següents:
Aneu al símbol del sistema.
Escriviu> CAMÍ
Fig 8 : S’obtindrà el següent resultat:
Extreurem els nostres fitxers a PATH C: Ruby24-x64 bin . Extraieu fitxers al camí de la carpeta Ruby. Ara escriviu irb a l’indicador d’ordres i premeu ENTRAR. IRB significa Interactive Ruby.
> requereixen 'selenium-webdriver'
Obtindreu => true
> browser = Selenium :: WebDriver.for: internet_explorer
El vostre navegador IE s’obrirà i veureu el missatge: 'Aquesta és la pàgina inicial del servidor WebDriver' .
Per obrir la pàgina web www.google.co.in al navegador IE, escriviu l'ordre:
> navegador. obtenir 'https://www.google.co.in/'
La taula següent us proporcionarà una llista dels controladors dels navegadors respectius i els seus enllaços de descàrrega. Seguiu el mateix procediment per a la resta de controladors, així com s'explica per a IEDriverServer.
Nom del navegador | Nom del controlador | Enllaç de descàrrega | |
---|---|---|---|
: clar | : f8 | : esquerra | : teclat numèric7 |
Firefox | conductor de gecko | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | riu cromat | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari no funciona per a Windows |
Instal·lació de Watir:
- Aneu a l'indicador d'ordres.
- Escriviu ordre> gem install watir
- Premeu el botó d'inici.
Watir s’instal·larà. Ara podeu començar a utilitzar Watir.
Instal·lació de Watir Per a Mac
Passos:
- Instal·lació de Ruby
- Instal·lació de Ruby gem
- Actualització de la gema Ruby
- Instal·lació de Selenium WebDriver
- Instal·lació del controlador IE / controlador Gecko / controlador Chrome / controlador de safari
- Instal·lació de Watir
No cal instal·lar Ruby al Mac. Per tant, ja hem cobert el primer pas. Estalviarà molt de temps. Comprovarem la versió de ruby amb l'ordre: $ rubí -v
Aquí, ho tenim com ... ruby 2.0.0p648 (revisió del 16.12.2015 53162) (universal.x86_64-darwin16)
Ara comprovarem la versió de ruby: gem $ gem -v
Aquí està - 2.0.14.1. Actualitzarem les nostres gemmes de rubí mitjançant l’ordre- $ actualització sudo gem: sistema. Instal·larem Selenium WebDriver mitjançant l'ordre: $ sudo gem install selenium-webdriver —no-ri —no-rdoc
Hi ha la possibilitat d’obtenir el següent error en instal·lar Selenium webdriver o actualitzar la gema rubí.
error :La càrrega segura de YAML no està disponible. Actualitzeu la psicologia a una versió que admeti la càrrega segura (> = 2.0).
Per solucionar aquest error, hem d’actualitzar el nostre Ruby. Per actualitzar Ruby primer necessitarem el gestor de versions de Ruby, podeu obtenir-lo mitjançant aquesta ordre ($ curl -L https://get.rvm.io | bash -s estable) . Per instal·lar l'última versió del tipus Ruby ($ rvm install ruby - (versió)) . Reinicieu el terminal un cop instal·lat completament el rvm.
Ara hem d’establir aquesta versió més recent, ja que la volem utilitzar. Per tant, escriviu ($ rvm use ruby-2.4.1). Per establir aquesta versió com a predeterminada, utilitzeu l'ordre següent: ($ rvm —default use 2.4.1). Ara torneu a actualitzar les gemmes de rubí. Proveu d’instal·lar selenium-webdriver. Si torneu a aparèixer algun error, és possible que necessiteu eines per a desenvolupadors de línia d'ordres i, per tant, instal·leu-lo mitjançant ($ git —version). Com ja ho hem fet, no l’hem instal·lat aquí.
Per instal·lar el controlador Chrome, necessitem homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ').
Instal·lem el controlador de Chrome. ($ brew install chromedriver).
Proveu aquest codi al terminal:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Amb aquest codi, el navegador hauria d’obrir-se amb la pàgina web especificada. Ara instal·larem Watir: ($ gem install water).
Hem acabat el procés d’instal·lació. Ara podeu començar a escriure scripts de prova.
Com utilitzar Watir: creació i execució de casos de prova
Podeu escriure els casos de prova o els scripts al bloc de notes. Deseu aquest fitxer amb l'extensió .rb.
Exemple: Suposem que heu creat un fitxer test.rb. Per executar aquest script / programa, feu doble clic en aquest fitxer o seguiu els passos que s'indiquen a continuació. Suposem que heu desat aquest fitxer a la unitat C. L'adreça d'aquest fitxer és 'C Ruby_Programs'.
>cd >cd Ruby_Programs >ruby test.rb
Premeu el botó ENTRAR. Per editar aquest fitxer, feu clic amb el botó dret sobre aquest fitxer i seleccioneu l'opció Obre amb.
# 1) Execució de casos de prova en paral·lel
Si heu escrit dos casos de prova i els heu desat com a test1.rb i test2.rb. Per executar aquestes dues proves en paral·lel, heu de seguir aquests passos:
Ripper de DVD gratuït per a Windows 10
Fig.9: Aneu a l'indicador d'ordres i escriviu (> gem instal·lar proves_paral·leles). Veureu el següent missatge.
A continuació, feu les proves.
>parallel_test test1.rb test2.rb
# 2) Creació de la suite de proves
Si voleu que algunes proves s’executin amb freqüència i les afegiu a la suite de proves, aquí teniu el codi corresponent.
Codi:
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.
Deseu aquest fitxer com a testSuite.rb i executeu-lo
C: Programes_Ruby> ruby testSuite.rb
Exemples de Watir
Exemple 1:
Com que és el nostre primer programa, obrirem la pàgina web 'Google.co.in' i farem clic a l'enllaç de Gmail.
Codi:
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
Comprensió del codi
# 1) requereix 'watir' # Aquí estem dient que requerirem la biblioteca Watir per executar el nostre programa i es carregarà amb aquesta sentència.
# 2) test_site = 'https://www.google.co.in/' # Aquí declarem la variable.
# 3) browser = Watir :: Browser.new: firefox # Aquí obrim el navegador Firefox.
Watir :: Browser.new: internet_explorer # Per a Internet Explorer
Watir :: Browser.new: safari # Per a Safari
# 4) browser.goto test_site # O browser.goto 'https://www.google.co.in/' L'ordre # goto s'utilitza per navegar al lloc web especificat.
# 5) browser.link (: href, 'https://mail.google.com/mail/?tab=wm').click # Aquí fem clic a l'enllaç de Gmail. L'hiperenllaç s'anomena enllaç al codi i estem utilitzant la seva propietat 'href' per localitzar aquest enllaç.
# 6) posa 'Prova executada' # Aquesta línia escriurà la cadena 'Prova executada' a l'indicador d'ordres.
# 7) browser.close # Aquesta línia tancarà el navegador.
Si no mencionem els noms del navegador, només escriurem aquesta línia al nostre codi (Watir :: Browser.new), Watir obrirà el navegador Chrome ja que Chrome és el navegador predeterminat per a Watir.
Exemple 2:
En aquest exemple, obrirem la pàgina web www.google.co.in. A continuació, cercarem el text 'Prova manual'. A continuació, tornarem a la pàgina d'inici i farem clic a l'enllaç 'Gmail'.
Codi:
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'
Comprensió del codi:
# 1) browser.goto https://www.google.co.in - Aquí estem navegant al lloc web especificat.
# 2) si browser.title.include? 'Google': aquí comprovem el títol de la pàgina web per saber si és el que s'esperava o no. A l’altra part d’aquest ‘Si’, posem aquesta afirmació 'O bé esteu a la pàgina equivocada o no s'ha trobat la pàgina'. Aquesta declaració es mostrarà a l'indicador d'ordres.
# 3) browser.text_field (: class, 'gsfi'). Set 'Prova manual': aquí introduïm el text 'Prova manual' al quadre de text de cerca.
# 4) browser.button (: name, 'btnK'). Feu clic - Aquí estem fent clic al botó 'Cerca de Google'.
# 5) si browser.text.include? 'La prova manual és un procés per esbrinar els defectes': ara comprovem el text de la pàgina web per verificar si hem obtingut el resultat de cerca correcte. A la part 'Else' d'aquesta afirmació 'Si' hi posem la frase 'S'ha trobat un resultat incorrecte'.
# 6) posa 'Títol de la pàgina web' + browser.title: aquí mostrem el títol de la pàgina web a l'indicador d'ordres.
# 7) browser.img (: src, '/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click - Aquí fem clic a la imatge per tornar a la pàgina d'inici.
# 8) browser.link (: class, 'gb_P'). Feu clic: aquí estem fent clic a l'enllaç de Gmail.
# 9) posa 'Ara el títol de la pàgina web' + browser.title - Ara tornem a posar el títol de la pàgina web a l'indicador d'ordres. Hauria de ser el títol de la pàgina de Gmail.
# 10) browser.close: aquí estem tancant el navegador.
# 11) posa 'Prova executada correctament'. Només per assegurar-nos que tots els passos s’executen correctament, posem aquesta sentència a l’indicador d’ordres.
Exemple 3:
En aquest exemple, intentarem utilitzar les ordres màximes de Watir, de manera que pugueu entendre com utilitzar-les. Veurem la seva descripció juntament amb el codi.
Codi amb comentaris:
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
Esperes i claus especials
Hi ha dos tipus d’instruccions d’espera compatibles amb Watir. La primera és una espera explícita i la segona és una espera implícita. Hem vist la sintaxi de tots dos al codi anterior, és a dir, a l’exemple 3.
Claus especials compatibles amb Watir: primer, veurem la sintaxi per utilitzar aquestes claus especials.
- browser.send_keys: page_up #L'hem utilitzat al nostre codi.
- browser.element.send_keys (: control, ‘c’),: cancel
- browser.element.click (: enter,: space)
A continuació es mostra una llista de les claus especials compatibles amb Watir:
: entrar | : f1 | : control | : teclat numèric0 |
: torn | : f2 | : tot | : teclat numèric1 |
:nul | : f3 | : pausa | : numpad2 |
:cancel · lar | : f4 | : escapament | : numpad3 |
: ajuda | : f5 | : espai | : numpad4 |
: retrocés | : f6 | :final | : teclat numèric5 |
: fitxa | : f7 | : casa | : teclat numèric6 |
: tornar | : f9 | : amunt | : teclat numèric8 |
:desviació a l'esquerra | : f10 | :dret | : teclat numèric9 |
: left_control | : f11 | : avall | : multiplicar |
: pàgina_up | : f12 | : inserir | : afegir |
:avançar pagina | : meta | : esborra | :sostreure |
: fletxa_esquerra | :comandament | :és igual | : divideix |
Proves de regressió amb Watir
A les proves de regressió, comprovem si els canvis han afectat o no la part no modificada.
Per a això, hem de tornar a executar els nostres casos de prova anteriors. Les proves de regressió trigaran molt de temps si es fan manualment. Watir és una de les millors eines de proves de regressió, ja que és fàcil escriure, mantenir / actualitzar i executar casos de proves.
Conclusió
Per concloure, podem dir que Watir és fàcil d'aprendre l'eina. És una eina de codi obert, per tant, és rendible i fàcil d’utilitzar. Tot i que no té tants avantatges respecte a Selenium WebDriver, és una eina millor si es compara amb moltes altres eines.
És compatible amb la programació, per tant és molt millor que altres eines de gravació i reproducció. De fet, és una de les millors eines de proves de regressió.
Heu provat l'eina Watir?
Lectura recomanada
- 30+ millors tutorials sobre seleni: apreneu el seleni amb exemples reals
- Tutorial de ChromeDriver Selenium: proves de Selenium Webdriver a Chrome
- Exemple de proves d'aplicacions web de més de 180 casos de proves (llista de comprovació de mostres)
- Principals 30+ eines de proves d'aplicacions web el 2021 (llista completa)
- Guia completa de proves d'aplicacions web (Com provar un lloc web)
- Top 10 de les eines de proves de regressió més populars el 2021
- Què és la prova de regressió? Definició, eines, mètode i exemple
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)