getting started with watir
Watir ist eine Abkürzung für 'Webanwendungstests in Ruby'. Erfahren Sie, wie Sie Watir installieren und verwenden, um Testfälle mit Codebeispielen zu erstellen und auszuführen:
Watir wird als Wasser ausgesprochen. Es ist eine Open-Source-Sammlung von Ruby-Bibliotheken. Da es sich um das Testen von Webanwendungen in Ruby handelt, wird Ruby als Skriptsprache verwendet.
Was du lernen wirst:
- Installation von Watir
- Verwendung von Watir: Erstellung und Ausführung von Testfällen
- Watir Beispiele
- Wartezeiten und spezielle Schlüssel
- Regressionstests mit Watir
- Fazit
- Literatur-Empfehlungen
Installation von Watir
Man sollte Grundkenntnisse in HTML, Programmierung und Ruby haben, um Watir verwenden zu können. Da Ruby selbst einfach zu bedienen und zu verstehen ist, ist es nicht so schwierig, es zu lernen und Watir zu verwenden.
Befehl grep unter Unix mit Beispielen
Watir-Installation für Windows
Es besteht die große Chance, dass Ruby nicht auf Ihrem Computer installiert ist. Um dies zu überprüfen, öffnen Sie die Eingabeaufforderung und geben Sie ein > ruby –v und drücken Sie die Eingabetaste .
Abb. 1: Wenn Sie Ruby nicht installiert haben, wird die folgende Meldung angezeigt.
Wenn Ruby installiert ist, erhalten Sie die Version mit diesem Befehl. Sie können klicken Hier um die neueste Version von Ruby herunterzuladen. Wählen Sie die entsprechende Version aus. Die Website selbst empfiehlt Ruby 2.4.X. als x64- oder x86-Installationsprogramm.
Abb. 2: Wenn Sie auf diese Version klicken, wird das folgende Fenster angezeigt.
Abb. 3: Klicken Sie auf die Schaltfläche Download starten. Das folgende Fenster wird angezeigt.
Da der Downloadvorgang angehalten wird, um einen Screenshot zu erstellen, können Sie den 'Start' Andernfalls können Sie die Schaltfläche sehen 'Pause' Schaltfläche hier. Gehen Sie nun zu dem Speicherort / Ordner, in den Ihre Datei heruntergeladen wurde (hier, wie Sie in Abb. 2 sehen können, ist der Speicherort: C: Benutzer Ojas Downloads Programme ).
Abb. 4: Führen Sie die Datei rubyinstaller-2.4.3-2-x64.exe aus.
Abb. 5: Wählen Sie 'Ich akzeptiere die Lizenz' und klicken Sie auf 'Weiter':
Abb. 6: Klicken Sie auf Installieren und dann auf Fertig stellen.
Auf dem obigen Bildschirm werden Sie gefragt, welche Komponenten installiert werden sollen. Wenn Sie sich nicht sicher sind, drücken Sie einfach die Eingabetaste, und das System installiert alle drei Komponenten, d. H. MSYS2-Basisinstallation, MSYS2-Systemupdate und MSYS2- und MINGW-Entwicklungstoolchain .
MSYS2-Tools sind erforderlich, um C-basierte Rubinsteine zu kompilieren. MSYS2 kann auch manuell installiert werden.
Abb. 7: Manuell installiertes MSYS2
Die Installation aller Komponenten dauert einige Minuten. Schließen Sie einfach die Eingabeaufforderung und öffnen Sie sie erneut. Geben Sie dann> ruby –v ein und drücken Sie die Eingabetaste. Wenn Sie die folgende Meldung erhalten, bedeutet dies, dass Ruby erfolgreich installiert wurde.
ruby 2.4.3p205 (2017-12-14 Revision 61247) (x64-mingw32)
In Ruby geschriebene Software heißt Ruby Gems. Wir haben Ruby installiert, aber es besteht die Möglichkeit, dass wir nicht die neueste Version dieser Ruby Gems haben. Daher müssen wir zuerst diese Gem-Version mit dem Befehl> gem –v überprüfen. Hier haben wir die Version 2.6.14.
Wir werden es mit dem folgenden Befehl aktualisieren:
> gem update –system
Sobald wir fertig sind, erhalten wir die Nachricht - RubyGems-Systemsoftware aktualisiert .
Jetzt müssen wir Selenium Web Driver Gem mit installieren den Befehl (> gem installiere den Selenium-Web-Treiber –no-ri –no-rdoc).
Es wird installiert und Sie erhalten die folgende Meldung:
Abrufen: Selen-Web-Treiber-3.11.0.gem (100%)
Selenium-Web-Treiber-3.11.0 erfolgreich installiert
1 Edelstein installiert
** Wenn Sie eine Windows-Firewall-Meldung erhalten, schließen Sie dieses Fenster.
Jetzt brauchen wir IEDriverServer. Klicken Hier um IEDriverServer herunterzuladen
Klicken Sie auf den ersten Link und wählen Sie dann die entsprechende Version für Ihren Computer aus, d. H. Die Win32- oder X64.Zip-Datei wird heruntergeladen. Führen Sie die folgenden Schritte aus, um zu wissen, wo diese Dateien extrahiert werden sollen:
Gehen Sie zur Eingabeaufforderung.
Geben Sie> PFAD ein
Abb. 8 :: Das folgende Ergebnis wird erhalten:
Wir werden unsere Dateien in PATH extrahieren C: Ruby24-x64 bin . Extrahieren Sie Dateien in Ihren Ruby-Ordnerpfad. Geben Sie nun irb in die Eingabeaufforderung ein und drücken Sie die EINGABETASTE. IRB steht für Interactive Ruby.
> benötigen 'Selen-Webdriver'
Sie erhalten => true
> browser = Selenium :: WebDriver.for: internet_explorer
Ihr IE-Browser wird geöffnet und Sie sehen die Meldung: 'Dies ist die erste Startseite für den WebDriver-Server.' .
Um die Webseite www.google.co.in im IE-Browser zu öffnen, geben Sie den folgenden Befehl ein:
> Browser. Holen Sie sich 'https://www.google.co.in/'
In der folgenden Tabelle finden Sie eine Liste der Treiber der jeweiligen Browser und deren Download-Links. Gehen Sie für die anderen Treiber genauso vor wie für IEDriverServer.
Browsername | Fahrername | Download-Link | |
---|---|---|---|
:klar | : f8 | :links | : numpad7 |
Feuerfuchs | Gecko-Fahrer | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | Chromedriver | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - - | Safari funktioniert nicht für Windows |
Watir Installation:
- Gehen Sie zur Eingabeaufforderung.
- Geben Sie command> gem install watir ein
- Drücken Sie die Eingabetaste.
Watir wird installiert. Jetzt können Sie Watir verwenden.
Watir Installation Für Mac
Schritte:
- Ruby installieren
- Ruby Gem installieren
- Ruby Gem wird aktualisiert
- Selenium WebDriver installieren
- Installieren des IE-Treibers / Gecko-Treibers / Chrome-Treibers / Safari-Treibers
- Watir installieren
Ruby muss nicht auf einem Mac installiert werden. Daher haben wir bereits den ersten Schritt behandelt. Das spart viel Zeit. Wir werden die Version von Ruby mit dem Befehl überprüfen: $ ruby -v
Hier haben wir es als - ruby 2.0.0p648 (2015-12-16 revision 53162) (universal.x86_64-darwin16)
Jetzt werden wir die Version von Ruby überprüfen: gem $ gem -v
Hier ist es - 2.0.14.1. Wir werden unsere Rubinsteine mit dem Befehl aktualisieren. $ sudo gem update - system. Wir werden Selenium WebDriver mit dem folgenden Befehl installieren: $ sudo gem installiere selenium-webdriver —no-ri —no-rdoc
Es besteht die Möglichkeit, dass beim Installieren des Selenium-Webdrivers oder beim Aktualisieren des Ruby-Edelsteins der folgende Fehler angezeigt wird.
Error ::YAML Safe Loading ist nicht verfügbar. Bitte aktualisieren Sie den Psych auf eine Version, die sicheres Laden unterstützt (> = 2.0).
Um diesen Fehler zu beheben, müssen wir unseren Ruby aktualisieren. Um Ruby zu aktualisieren, benötigen wir zunächst den Ruby-Versionsmanager. Sie können ihn mit diesem Befehl abrufen ($ curl -L https://get.rvm.io | Bash -s stabil) . So installieren Sie die neueste Version von Ruby: ($ rvm Ruby installieren - (Version)) . Starten Sie das Terminal neu, sobald der RVM vollständig installiert ist.
Jetzt müssen wir diese neueste Version so einstellen, wie wir sie verwenden möchten. Geben Sie also ($ rvm use ruby-2.4.1) ein. Verwenden Sie den folgenden Befehl, um diese Version als Standardversion festzulegen: ($ rvm —default use 2.4.1). Jetzt wieder Ruby Gems aktualisieren. Versuchen Sie, den Selenium-Webdriver zu installieren. Wenn Sie erneut eine Fehlermeldung erhalten, benötigen Sie möglicherweise Befehlszeilen-Entwicklertools. Installieren Sie diese daher mit ($ git —version). Wie wir es bereits haben, haben wir es hier nicht installiert.
Um den Chrome-Treiber zu installieren, benötigen wir Homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Installieren wir den Chrome-Treiber. ($ Brew install chromedriver).
Versuchen Sie diesen Code im Terminal:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Mit diesem Code sollte Ihr Browser mit der angegebenen Webseite geöffnet werden. Jetzt werden wir Watir installieren: ($ gem Wasser installieren).
Wir sind mit dem Installationsprozess fertig. Sie können jetzt mit dem Schreiben von Testskripten beginnen.
Verwendung von Watir: Erstellung und Ausführung von Testfällen
Sie können die Testfälle oder Skripte in Notepad schreiben. Speichern Sie diese Datei mit der Erweiterung .rb.
Beispiel: Angenommen, Sie haben eine Datei test.rb erstellt. Um dieses Skript / Programm auszuführen, doppelklicken Sie auf diese Datei oder führen Sie die unten aufgeführten Schritte aus. Angenommen, Sie haben diese Datei auf dem Laufwerk C gespeichert. Die Adresse dieser Datei lautet 'C Ruby_Programs'.
>cd >cd Ruby_Programs >ruby test.rb
Drücken Sie die ENTER-Taste. Um diese Datei zu bearbeiten, klicken Sie mit der rechten Maustaste auf diese Datei und wählen Sie die Option Öffnen mit.
# 1) Testfälle parallel ausführen
Wenn Sie zwei Testfälle geschrieben und als test1.rb und test2.rb gespeichert haben. Um diese beiden Tests parallel auszuführen, müssen Sie die folgenden Schritte ausführen:
beste MP3-Download-App für Android
Abb.9: Gehen Sie zur Eingabeaufforderung und geben Sie ein (> gem install parallel_tests). Sie sehen die folgende Meldung.
Führen Sie dann Ihre Tests durch.
>parallel_test test1.rb test2.rb
# 2) Erstellen einer Testsuite
Wenn Sie möchten, dass einige Tests häufig ausgeführt und in die Testsuite aufgenommen werden, finden Sie hier den Code dafür.
Code:
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.
Speichern Sie diese Datei als testSuite.rb und führen Sie sie aus
C: Ruby_Programs> ruby testSuite.rb
Watir Beispiele
Beispiel 1:
Da dies unser erstes Programm ist, öffnen wir einfach die Webseite 'Google.co.in' und klicken auf den Google Mail-Link.
Code:
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
Den Code verstehen
# 1) 'Watir' erfordern # Hier sagen wir, dass wir die Watir-Bibliothek benötigen, um unser Programm auszuführen, und es wird mit dieser Anweisung geladen.
# 2) test_site = 'https://www.google.co.in/' # Hier deklarieren wir die Variable.
# 3) browser = Watir :: Browser.new: Firefox # Hier öffnen wir den Firefox-Browser.
Watir :: Browser.new: internet_explorer # Für Internet Explorer
Watir :: Browser.new: safari # Für Safari
# 4) browser.goto test_site # Oder browser.goto 'https://www.google.co.in/' # Der Befehl goto wird verwendet, um zur angegebenen Website zu navigieren.
# 5) browser.link (: href, 'https://mail.google.com/mail/?tab=wm').click # Hier klicken wir auf den Google Mail-Link. Der Hyperlink wird im Code als Link bezeichnet, und wir verwenden seine Eigenschaft 'href', um diesen Hyperlink zu finden.
# 6) setzt 'Test Executed' # Diese Zeile schreibt die Zeichenfolge 'Test Executed' an die Eingabeaufforderung.
# 7) browser.close # Diese Zeile schließt den Browser.
Wenn wir die Browsernamen nicht erwähnen, schreiben wir nur diese Zeile in unseren Code (Watir :: Browser.new). Watir öffnet den Chrome-Browser, da Chrome der Standardbrowser für Watir ist.
Beispiel 2:
In diesem Beispiel öffnen wir die Webseite www.google.co.in. Dann suchen wir den Text 'Manuelles Testen'. Als nächstes kehren wir zur Startseite zurück und klicken auf den Link 'Google Mail'.
Code:
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'
Den Code verstehen:
# 1) browser.goto https://www.google.co.in - Hier navigieren wir zur angegebenen Website.
# 2) wenn browser.title.include? 'Google' - Hier überprüfen wir den Titel der Webseite, ob er wie erwartet ist oder nicht. Im anderen Teil dieses 'Wenn' setzen wir diese Aussage 'Entweder Sie befinden sich auf der falschen Seite oder die Seite wurde nicht gefunden'. Diese Anweisung wird an der Eingabeaufforderung angezeigt.
# 3) browser.text_field (: class, 'gsfi'). Set 'Manual Testing' - Hier geben wir den Text 'Manual Testing' in das Suchtextfeld ein.
# 4) browser.button (: name, 'btnK'). Click - Hier klicken wir auf die Schaltfläche 'Google Search'.
# 5) wenn browser.text.include? 'Manuelles Testen ist ein Prozess zum Auffinden der Fehler' - Jetzt überprüfen wir den Text auf der Webseite, um zu überprüfen, ob wir das richtige Suchergebnis erhalten haben. Im 'Else' -Teil dieser 'If' -Anweisung setzen wir die Anweisung 'Falsches Ergebnis gefunden'.
# 6) setzt 'Titel der Webseite' + browser.title - Hier zeigen wir den Titel der Webseite an der Eingabeaufforderung an.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click - Hier klicken wir auf das Bild, um zur Startseite zurückzukehren.
# 8) browser.link (: class, 'gb_P'). Click - Hier klicken wir auf den Google Mail-Link.
# 9) setzt 'Jetzt den Titel der Webseite' + browser.title - Jetzt setzen wir wieder den Titel der Webseite in die Eingabeaufforderung. Es sollte der Titel der Google Mail-Seite sein.
# 10) browser.close - Hier schließen wir den Browser.
# 11) setzt 'Test erfolgreich ausgeführt'. Um sicherzustellen, dass alle Schritte korrekt ausgeführt werden, setzen wir diese Anweisung in die Eingabeaufforderung.
Beispiel 3:
In diesem Beispiel werden wir versuchen, maximale Watir-Befehle zu verwenden, damit Sie verstehen, wie sie verwendet werden. Wir werden auch die Beschreibung zusammen mit dem Code sehen.
Code mit Kommentaren:
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
Wartezeiten und spezielle Schlüssel
Es gibt zwei Arten von Warteanweisungen, die von Watir unterstützt werden. Das erste ist ein explizites Warten und das zweite ist ein implizites Warten. Wir haben die Syntax für beide im obigen Code gesehen, d. H. Beispiel 3.
Von Watir unterstützte Spezialschlüssel: Zunächst sehen wir die Syntax für die Verwendung dieser Spezialschlüssel.
- browser.send_keys: page_up #Wir haben dies in unserem Code verwendet.
- browser.element.send_keys (: control, 'c') ,: cancel
- browser.element.click (: enter ,: space)
Im Folgenden finden Sie eine Liste der von Watir unterstützten Sonderschlüssel:
:eingeben | : f1 | :Steuerung | : numpad0 |
:Verschiebung | : f2 | :alles | :Numpad 1 |
:Null | : f3 | :Pause | : numpad2 |
:stornieren | : f4 | :Flucht | : numpad3 |
:Hilfe | : f5 | :Raum | : numpad4 |
:Rücktaste | : f6 | :Ende | : numpad5 |
:Tab | : f7 | :Zuhause | : numpad6 |
:Rückkehr | : f9 | :oben | : numpad8 |
:Linksverschiebung | : f10 | :richtig | : numpad9 |
:Linker Regler | : f11 | :Nieder | :multiplizieren |
: page_up | : f12 | :einfügen | :hinzufügen |
:Bild nach unten | :Meta | :löschen | :subtrahieren |
: arrow_left | :Befehl | : gleich | : Teilen |
Regressionstests mit Watir
Beim Regressionstest prüfen wir, ob sich die Änderungen auf den unveränderten Teil ausgewirkt haben oder nicht.
Dazu müssen wir unsere vorherigen Testfälle erneut ausführen. Regressionstests sind zeitaufwändig, wenn sie manuell durchgeführt werden. Watir ist eines der besten Tools für Regressionstests, da das Schreiben, Verwalten / Aktualisieren und Ausführen von Testfällen einfach ist.
Fazit
Abschließend können wir sagen, dass Watir das Werkzeug leicht zu erlernen ist. Es ist ein Open-Source-Tool, daher kostengünstig und einfach zu bedienen. Obwohl es gegenüber Selenium WebDriver nicht so viele Vorteile bietet, ist es im Vergleich zu vielen anderen Tools ein besseres Tool.
Es unterstützt die Programmierung und ist daher viel besser als andere Aufnahme- und Wiedergabewerkzeuge. Es ist in der Tat eines der besten Regressionstest-Tools.
Haben Sie das Watir-Tool ausprobiert?
Literatur-Empfehlungen
- 30+ beste Selen-Tutorials: Lernen Sie Selen anhand realer Beispiele
- ChromeDriver Selenium Tutorial: Selenium Webdriver-Tests auf Chrome
- 180+ Testfälle für Webanwendungstests (Beispiel-Checkliste)
- Top 30+ Tools zum Testen von Webanwendungen im Jahr 2021 (umfassende Liste)
- Vollständige Anleitung zum Testen von Webanwendungen (Testen einer Website)
- Top 10 der beliebtesten Regressionstest-Tools im Jahr 2021
- Was ist Regressionstest? Definition, Werkzeuge, Methode und Beispiel
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)