getting started with watir
Watir è l'acronimo di 'Web Application Testing in Ruby'. Scopri come installare e utilizzare Watir per creare ed eseguire casi di test con esempi di codice:
Watir è pronunciato come Acqua. È una raccolta open source di librerie Ruby. Poiché è il test dell'applicazione Web in Ruby, utilizza Ruby come linguaggio di scripting.
Cosa imparerai:
- Installazione di Watir
- Come usare Watir: creazione ed esecuzione di casi di test
- Esempi Watir
- Attese e chiavi speciali
- Test di regressione con Watir
- Conclusione
- Lettura consigliata
Installazione di Watir
Si dovrebbe avere una conoscenza di base di HTML, programmazione e Ruby per usare Watir. Tuttavia, poiché Ruby stesso è facile da usare e da capire, impararlo e usare Watir non è così difficile.
Installazione Watir per Windows
C'è una grande possibilità che non hai Ruby installato sul tuo computer. Per verificarlo, apri il prompt dei comandi e digita > ruby –v e premi 'Invio' .
Fig 1: Se non hai installato Ruby, riceverai il seguente messaggio.
Se Ruby è installato, otterrai la sua versione con questo comando. Puoi fare clic Qui per scaricare l'ultima versione di Ruby. Seleziona la versione appropriata, il sito stesso consiglierà Ruby 2.4.X come programma di installazione x64 o x86.
Fig 2: Quando si fa clic su questa versione, verrà visualizzata la seguente finestra.
Fig 3: Fare clic sul pulsante Avvia download e verrà visualizzata la seguente finestra.
Poiché il processo di download viene sospeso allo scopo di acquisire uno screenshot, puoi vedere il file 'Inizio' altrimenti potrai vedere il pulsante 'Pausa' pulsante qui. Ora vai alla posizione / cartella in cui è stato scaricato il tuo file (qui come puoi vedere in Fig 2, la posizione è: C: Users Ojas Downloads Programs ).
Fig 4: esegui il file rubyinstaller-2.4.3-2-x64.exe.
Fig 5: Seleziona 'Accetto la licenza' e fai clic su 'Avanti':
Fig 6: fare clic su Installa e quindi su Fine.
La schermata sopra chiederà 'Quali componenti installare?' Se non sei sicuro, premi il tasto Invio e il sistema installerà tutti e tre i componenti, ad es. Installazione di base MSYS2, aggiornamento del sistema MSYS2 e toolchain di sviluppo MSYS2 e MINGW .
Gli strumenti MSYS2 sono necessari per compilare ruby gems basati su C. MSYS2 può anche essere installato manualmente.
Fig 7: MSYS2 installato manualmente
Ci vorranno alcuni minuti per installare tutti i componenti. Basta chiudere il prompt dei comandi e riaprirlo. Quindi digita> ruby –v e premi il tasto Invio. Se ricevi il seguente messaggio significa che Ruby è stato installato correttamente.
ruby 2.4.3p205 (2017-12-14 revisione 61247) (x64-mingw32)
Il software scritto in Ruby si chiama Ruby Gems. Abbiamo installato Ruby ma c'è la possibilità che non abbiamo l'ultima versione di queste Gemme Ruby. Quindi, per prima cosa, dobbiamo controllare questa versione di gem usando il comando> gem –v, qui abbiamo la versione 2.6.14.
Lo aggiorneremo utilizzando il comando:
> gem update –system
Una volta fatto, riceveremo il messaggio– Software di sistema RubyGems aggiornato .
Ora dobbiamo installare la gemma del driver web Selenium usando il comando (> gem installa il driver selenium-web –no-ri –no-rdoc).
Verrà installato e riceverai il seguente messaggio:
Recupero: selenium-web driver-3.11.0.gem (100%)
Selenium-web driver-3.11.0 installato con successo
1 gemma installata
** Se ricevi un messaggio di Windows Firewall, chiudi la finestra.
Ora abbiamo bisogno di IEDriverServer. Clic Qui per scaricare IEDriverServer
Fare clic sul primo collegamento e quindi selezionare la versione appropriata per il computer, ad esempio Win32 o X64.Verrà scaricato il file .Zip. Per sapere dove estrarre questi file, segui i passaggi seguenti:
Vai al prompt dei comandi.
Digita> PERCORSO
Fig 8 : Si otterrà il seguente risultato:
Estrarremo i nostri file in PATH C: Ruby24-x64 bin . Estrai i file nel percorso della cartella Ruby. Ora digita irb nel prompt dei comandi e premi INVIO. IRB sta per Interactive Ruby.
> richiedono 'selenium-webdriver'
Otterrai => true
> browser = Selenium :: WebDriver.for: internet_explorer
Il tuo browser IE si aprirà e vedrai il messaggio: 'Questa è la pagina iniziale iniziale per il server WebDriver' .
Per aprire la pagina web www.google.co.in nel browser IE, digitare il comando:
> browser. ottieni 'https://www.google.co.in/'
La tabella seguente fornirà un elenco dei driver dei rispettivi browser e dei relativi collegamenti per il download. Seguire la stessa procedura per gli altri driver e per IEDriverServer.
Nome del browser | Nome del driver | Link per scaricare | |
---|---|---|---|
:chiaro | : f8 | :sinistra | : numpad7 |
Firefox | autista di geco | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | chromeedriver | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari non funziona per Windows |
Installazione Watir:
- Vai al prompt dei comandi.
- Digita comando> gem install watir
- Premi il pulsante Invio.
Watir verrà installato. Ora puoi iniziare a utilizzare Watir.
Installazione Watir Per Mac
Passaggi:
- Installazione di Ruby
- Installazione di Ruby gem
- Aggiornamento di Ruby gem
- Installazione di Selenium WebDriver
- Installazione del driver IE / Gecko Driver / Chrome Driver / driver safari
- Installazione di Watir
Non è necessario installare Ruby su Mac. Quindi abbiamo già coperto il primo passaggio. Risparmierai molto tempo. Controlleremo la versione di ruby con il comando: $ rubino -v
Qui lo abbiamo come - ruby 2.0.0p648 (16/12/2015 revisione 53162) (universal.x86_64-darwin16)
Ora controlleremo la versione di ruby: gemma $ gemma -v
Ecco qui - 2.0.14.1. Aggiorneremo le nostre gemme rubino usando il comando- $ sudo gem update —system. Installeremo Selenium WebDriver utilizzando il comando: $ sudo gem install selenium-webdriver —no-ri —no-rdoc
C'è la possibilità di ottenere il seguente errore durante l'installazione del webdriver Selenium o l'aggiornamento della gemma rubino.
software di riparazione pc per windows 10
Errore :Il caricamento sicuro YAML non è disponibile. Si prega di aggiornare psych a una versione che supporti il caricamento sicuro (> = 2.0).
Per risolvere questo errore dobbiamo aggiornare il nostro Ruby. Per aggiornare Ruby richiederemo prima il gestore delle versioni di Ruby, puoi ottenerlo usando questo comando ($ curl -L https://get.rvm.io | bash -s stabile) . Per installare l'ultima versione di Ruby digita ($ rvm installa ruby - (versione)) . Riavvia il terminale una volta che rvm è completamente installato.
Ora dobbiamo impostare questa ultima versione come vogliamo usarla. Quindi digita ($ rvm use ruby-2.4.1). Per impostare questa versione come predefinita, utilizzare il seguente comando: ($ rvm —default use 2.4.1). Ora aggiorna di nuovo le gemme rubino. Prova a installare selenium-webdriver. Se si verifica nuovamente un errore, è possibile che siano necessari strumenti per sviluppatori da riga di comando, quindi installarli utilizzando ($ git —version). Come già abbiamo, non l'abbiamo installato qui.
Per installare il driver chrome, abbiamo bisogno dell'homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ').
Installiamo il driver Chrome. ($ brew install chromedriver).
Prova questo codice nel terminale:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Con questo codice, il tuo browser dovrebbe aprirsi con la pagina web specificata. Ora installeremo Watir: ($ gem install water).
Abbiamo finito con il processo di installazione. È ora possibile iniziare a scrivere script di test.
Come usare Watir: creazione ed esecuzione di casi di test
È possibile scrivere gli scenari di test o gli script in Blocco note. Salva questo file con estensione .rb.
Esempio: Supponiamo di aver creato un file test.rb. Per eseguire questo script / programma, fare doppio clic su questo file o seguire i passaggi elencati di seguito. Supponiamo di aver salvato questo file nell'unità C. L'indirizzo di questo file è 'C Ruby_Programs'.
>cd >cd Ruby_Programs >ruby test.rb
Premi il pulsante INVIO. Per modificare questo file, fare clic con il pulsante destro del mouse su questo file e selezionare l'opzione Apri con.
# 1) Esecuzione di casi di test in parallelo
Se hai scritto due casi di test e li hai salvati come test1.rb e test2.rb. Per eseguire questi due test in parallelo, è necessario seguire questi passaggi:
Fig.9: Vai al prompt dei comandi e digita (> gem install parallel_tests). Vedrai il seguente messaggio.
Quindi esegui i tuoi test.
>parallel_test test1.rb test2.rb
# 2) Creazione della suite di test
Se vuoi che alcuni test vengano eseguiti frequentemente e li aggiunga alla suite di test, ecco il codice.
Codice:
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 questo file come testSuite.rb ed esegui
C: Ruby_Programs> ruby testSuite.rb
Esempi Watir
Esempio 1:
Poiché questo è il nostro primo programma, apriremo semplicemente la pagina Web 'Google.co.in' e fare clic sul collegamento Gmail.
Codice:
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
Capire il codice
# 1) require 'watir' # Qui stiamo dicendo che avremo bisogno della libreria Watir per eseguire il nostro programma e verrà caricato con questa istruzione.
# 2) test_site = 'https://www.google.co.in/' # Qui stiamo dichiarando la variabile.
# 3) browser = Watir :: Browser.new: firefox # Qui stiamo aprendo il browser Firefox.
Watir :: Browser.new: internet_explorer # Per Internet Explorer
Watir :: Browser.new: safari # per Safari
# 4) browser.goto test_site # Oppure browser.goto 'https://www.google.co.in/' # comando goto viene utilizzato per navigare al sito web specificato.
# 5) browser.link (: href, 'https://mail.google.com/mail/?tab=wm”).click # Qui facciamo clic sul collegamento Gmail. Il collegamento ipertestuale viene indicato come un collegamento nel codice e stiamo utilizzando la sua proprietà 'href' per individuare questo collegamento ipertestuale.
# 6) inserisce 'Test eseguito' # Questa riga scriverà la stringa 'Test eseguito' sul prompt dei comandi.
# 7) browser.close # Questa riga chiuderà il browser.
Se non menzioniamo i nomi dei browser, scriveremo solo questa riga nel nostro codice (Watir :: Browser.new), Watir aprirà il browser Chrome poiché Chrome è il browser predefinito per Watir.
Esempio 2:
In questo esempio, apriremo la pagina web www.google.co.in. Quindi cercheremo il testo 'Test manuale'. Successivamente, torneremo alla home page e faremo clic sul collegamento 'Gmail'.
Codice:
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'
Capire il codice:
# 1) browser.goto https://www.google.co.in - Qui stiamo navigando verso il sito web specificato.
# 2) se browser.title.include? 'Google' - Qui stiamo controllando il titolo della pagina web se è come previsto o meno. Nell'altra parte di questo 'Se' inseriamo questa affermazione 'O sei sulla pagina sbagliata o pagina non trovata'. Questa istruzione verrà visualizzata nel prompt dei comandi.
# 3) browser.text_field (: class, 'gsfi'). Set 'Manual Testing' - Qui stiamo inserendo il testo 'Manual Testing' nella casella di testo di ricerca.
# 4) browser.button (: name, 'btnK'). Click - Qui stiamo facendo clic sul pulsante 'Google Search'.
# 5) se browser.text.include? 'Il test manuale è un processo per scoprire i difetti' - Ora stiamo controllando il testo sulla pagina web per verificare se abbiamo ottenuto il risultato di ricerca corretto. Nella parte 'Else' di questa istruzione 'If' stiamo inserendo l'istruzione 'Trovato risultato errato'.
# 6) mette 'Titolo della pagina web' + browser.title - Qui stiamo visualizzando il titolo della pagina web sul prompt dei comandi.
# 7) browser.img (: src, '/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”).click - Qui stiamo facendo clic sull'immagine per tornare alla home page.
# 8) browser.link (: class, 'gb_P'). Clic - Qui stiamo facendo clic sul collegamento Gmail.
# 9) mette 'Ora il titolo della pagina web' + browser.title - Ora di nuovo inseriamo il titolo della pagina web sul prompt dei comandi. Dovrebbe essere il titolo della pagina Gmail.
# 10) browser.close - Qui stiamo chiudendo il browser.
# 11) mette 'Test eseguito con successo'. Solo per assicurarci che tutti i passaggi siano eseguiti correttamente, inseriamo questa istruzione nel prompt dei comandi.
Esempio 3:
In questo esempio, proveremo a utilizzare al massimo i comandi Watir, in modo che tu possa capire come usarli. Vedremo anche la sua descrizione insieme al codice.
Codice con commenti:
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
Attese e chiavi speciali
Esistono due tipi di istruzioni di attesa supportate da Watir. La prima è un'attesa esplicita e la seconda è un'attesa implicita. Abbiamo visto la sintassi per entrambi nel codice sopra, ad esempio Esempio 3.
Tasti speciali supportati da Watir: Innanzitutto, vedremo la sintassi per l'utilizzo di questi tasti speciali.
- browser.send_keys: page_up # Lo abbiamo usato nel nostro codice.
- browser.element.send_keys (: control, ‘c’),: cancel
- browser.element.click (: invio,: spazio)
Di seguito è riportato un elenco dei tasti speciali supportati da Watir:
:accedere | : f1 | :controllo | : numpad0 |
:cambio | : f2 | :qualunque cosa | : numpad1 |
:nullo | : f3 | :pausa | : numpad2 |
:Annulla | : f4 | :fuga | : numpad3 |
:Aiuto | : f5 | :spazio | : numpad4 |
: backspace | : f6 | :fine | : numpad5 |
: tab | : f7 | :casa | : numpad6 |
:ritorno | : f9 | :su | : numpad8 |
:tasto maiuscolo di sinistra | : f10 | :giusto | : numpad9 |
: left_control | : f11 | :giù | :moltiplicare |
:pagina su | : f12 | :inserire | :Inserisci |
:pagina giù | : meta | :Elimina | :sottrarre |
: arrow_left | :comando | :è uguale a | : dividere |
Test di regressione con Watir
Nei test di regressione, controlliamo se le modifiche hanno influenzato o meno la parte invariata.
Per questo, dobbiamo rieseguire i nostri precedenti casi di test. Il test di regressione richiederà molto tempo se eseguito manualmente. Watir è uno dei migliori strumenti di test di regressione poiché scrivere, mantenere / aggiornare ed eseguire casi di test sono facili.
Conclusione
Per concludere, possiamo dire che Watir è facile da imparare lo strumento. È uno strumento open source, quindi è conveniente e facile da usare. Sebbene non abbia così tanti vantaggi rispetto a Selenium WebDriver, è uno strumento migliore rispetto a molti altri strumenti.
Supporta la programmazione, quindi è molto meglio di altri strumenti di registrazione e riproduzione. È davvero uno dei migliori strumenti di test di regressione.
Hai provato lo strumento Watir?
Lettura consigliata
- 30+ Migliori tutorial sul selenio: impara il selenio con esempi reali
- Tutorial ChromeDriver Selenium: test webdriver selenio su Chrome
- 180+ casi di test di esempio di test di applicazioni Web (elenco di controllo di esempio)
- Top 30+ strumenti di test di applicazioni Web nel 2021 (elenco completo)
- Guida completa al test di applicazioni Web (come testare un sito Web)
- I 10 strumenti di test di regressione più popolari nel 2021
- Che cos'è il test di regressione? Definizione, strumenti, metodo ed esempio
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)