getting started with watir
Watir to skrót od „Web Application Testing In Ruby”. Dowiedz się, jak zainstalować i używać Watir do tworzenia i uruchamiania przypadków testowych z przykładami kodu:
Watir wymawia się jako Water. Jest to zbiór bibliotek Ruby o otwartym kodzie źródłowym. Ponieważ jest to testowanie aplikacji sieci Web w języku Ruby, używa języka Ruby jako języka skryptowego.
Czego się nauczysz:
- Instalacja Watir
- Jak korzystać z Watir: tworzenie i wykonywanie przypadków testowych
- Watir Przykłady
- Czekam i specjalne klucze
- Testowanie regresji z Watir
- Wniosek
- rekomendowane lektury
Instalacja Watir
Aby korzystać z Watir, należy mieć podstawową wiedzę na temat HTML, programowania i Rubiego. Jednak ponieważ sam Ruby jest łatwy w użyciu i zrozumieniu, nauczenie się go i używanie Watir nie jest takie trudne.
Instalacja Watir w systemie Windows
Istnieje duża szansa, że nie masz zainstalowanego Rubiego na swoim komputerze. Aby to sprawdzić, otwórz wiersz polecenia i wpisz > ruby –v i naciśnij „Enter” .
Rys 1: Jeśli nie masz zainstalowanego Rubiego, pojawi się następujący komunikat.
Jeśli Ruby jest zainstalowany, otrzymasz jego wersję za pomocą tego polecenia. Możesz kliknąć tutaj aby pobrać najnowszą wersję Rubiego. Wybierz odpowiednią wersję, sama strona będzie polecać Rubiego 2.4.X jako instalator x64 lub x86.
Rys 2: Po kliknięciu tej wersji pojawi się następujące okno.
Rys. 3: Kliknij przycisk Rozpocznij pobieranie, a zobaczysz następujące okno.
Ponieważ proces pobierania jest wstrzymywany w celu zrobienia zrzutu ekranu, możesz zobaczyć plik 'Początek' przycisk, w przeciwnym razie będziesz mógł zobaczyć 'Pauza' przycisk tutaj. Teraz przejdź do lokalizacji / folderu, w którym plik jest pobierany (tutaj, jak widać na ryc. 2, lokalizacja to: C: Users Ojas Downloads Programs ).
Rys 4: Uruchom plik rubyinstaller-2.4.3-2-x64.exe.
Rys. 5: Wybierz „Akceptuję licencję” i kliknij „Dalej”:
Rys. 6: Kliknij Zainstaluj, a następnie Zakończ.
Na powyższym ekranie pojawi się pytanie „Które komponenty mają zostać zainstalowane?” Jeśli nie jesteś pewien, po prostu naciśnij klawisz Enter, a system zainstaluje wszystkie trzy komponenty, tj. Podstawowa instalacja MSYS2, aktualizacja systemu MSYS2 oraz łańcuch narzędzi programistycznych MSYS2 i MINGW .
Narzędzia MSYS2 są niezbędne do skompilowania rubinowych klejnotów opartych na C. MSYS2 można również zainstalować ręcznie.
Rys. 7: MSYS2 instalowany ręcznie
Zainstalowanie wszystkich składników zajmie kilka minut. Po prostu zamknij wiersz polecenia i otwórz go ponownie. Następnie wpisz> ruby –v i naciśnij klawisz Enter. Jeśli pojawi się następujący komunikat, oznacza to, że Ruby został pomyślnie zainstalowany.
ruby 2.4.3p205 (2017-12-14 wersja 61247) [x64-mingw32]
Oprogramowanie napisane w języku Ruby nazywa się Ruby Gems. Zainstalowaliśmy Rubiego, ale istnieje możliwość, że możemy nie mieć najnowszej wersji tych Ruby Gems. Dlatego najpierw musimy sprawdzić tę wersję gem za pomocą polecenia> gem –v, tutaj otrzymaliśmy wersję 2.6.14.
Zaktualizujemy go za pomocą polecenia:
> aktualizacja klejnotów - system
Po zakończeniu otrzymamy wiadomość– Zaktualizowano oprogramowanie systemowe RubyGems .
Teraz musimy zainstalować sterownik sieciowy Selenium za pomocą komenda [> gem zainstaluj sterownik selenium-web –no-ri –no-rdoc].
Zostanie zainstalowany i otrzymasz następujący komunikat:
Pobieranie: selenium-web driver-3.11.0.gem (100%)
Pomyślnie zainstalowano sterownik selenium-web 3.11.0
Zainstalowano 1 klejnot
** Jeśli pojawi się jakikolwiek komunikat Zapory systemu Windows, zamknij to okno.
Teraz potrzebujemy IEDriverServer. Kliknij tutaj aby pobrać IEDriverServer
Kliknij pierwszy link, a następnie wybierz odpowiednią wersję dla swojego komputera, np. Plik Win32 lub X64.Zip zostanie pobrany. Aby dowiedzieć się, gdzie wyodrębnić te pliki, wykonaj poniższe czynności:
Przejdź do wiersza polecenia.
Wpisz> ŚCIEŻKA
Rys 8 : Otrzymany zostanie następujący wynik:
Wypakujemy nasze pliki do PATH C: Ruby24-x64 bin . Rozpakuj pliki do ścieżki folderu Ruby. Teraz wpisz irb w wierszu polecenia i naciśnij klawisz ENTER. IRB to skrót od Interactive Ruby.
> wymagają „selenium-webdriver”
Otrzymasz => prawda
> przeglądarka = Selenium :: WebDriver.for: internet_explorer
Twoja przeglądarka IE zostanie otwarta i zobaczysz komunikat: „To jest początkowa strona startowa serwera WebDriver” .
Aby otworzyć stronę internetową www.google.co.in w przeglądarce IE wpisz polecenie:
> przeglądarka. pobierz „https://www.google.co.in/”
Poniższa tabela zawiera listę sterowników odpowiednich przeglądarek oraz łącza do ich pobierania. Postępuj zgodnie z tą samą procedurą dla innych sterowników, jak również wyjaśniono dla IEDriverServer.
Nazwa przeglądarki | Imię kierowcy | Link do pobrania | |
---|---|---|---|
:jasny | : f8 | :lewo | : numpad7 |
Firefox | kierowca gekona | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | chromedriver | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari nie działa w systemie Windows |
Instalacja Watir:
- Przejdź do wiersza poleceń.
- Wpisz polecenie> gem install watir
- Naciśnij przycisk Enter.
Watir zostanie zainstalowany. Teraz możesz zacząć korzystać z Watir.
Instalacja Watir Dla Maca
Kroki:
- Instalowanie Rubiego
- Instalowanie Ruby gem
- Aktualizacja klejnotu Ruby
- Instalowanie Selenium WebDriver
- Instalowanie sterownika IE / sterownika Gecko / sterownika Chrome / sterownika safari
- Instalowanie Watir
Nie ma potrzeby instalowania Rubiego na Macu. Dlatego już omówiliśmy pierwszy krok. Zaoszczędzi to dużo czasu. Wersję ruby sprawdzimy poleceniem: $ ruby -v
Tutaj mamy to jako - ruby 2.0.0p648 (2015-12-16 wersja 53162) [universal.x86_64-darwin16]
qa wywiad z analitykiem pytania i odpowiedzi pdf
Teraz sprawdzimy wersję ruby: gem $ gem -v
Tutaj jest - 2.0.14.1. Zaktualizujemy nasze rubinowe klejnoty za pomocą polecenia- $ sudo gem update - system. Zainstalujemy Selenium WebDriver za pomocą polecenia: $ sudo gem install selenium-webdriver —no-ri —no-rdoc
Podczas instalacji Webdrivera Selenium lub aktualizacji rubinowego klejnotu może pojawić się następujący błąd.
Błąd :Bezpieczne ładowanie YAML nie jest dostępne. Zaktualizuj psychoterapię do wersji obsługującej bezpieczne ładowanie (> = 2.0).
Aby rozwiązać ten błąd, musimy zaktualizować nasz Ruby. Aby zaktualizować Ruby, najpierw będziemy potrzebować menedżera wersji Ruby, możesz go pobrać za pomocą tego polecenia [$ curl -L https://get.rvm.io | bash -s stabilny] . Aby zainstalować najnowszą wersję typu Ruby [$ rvm zainstaluj ruby - [wersja]] . Uruchom ponownie terminal po całkowitym zainstalowaniu rvm.
Teraz musimy ustawić tę najnowszą wersję tak, jak chcemy z niej korzystać. Więc wpisz [$ rvm use ruby-2.4.1]. Aby ustawić tę wersję jako domyślną, użyj następującego polecenia: [$ rvm —default use 2.4.1]. Teraz ponownie zaktualizuj rubinowe klejnoty. Spróbuj zainstalować selenium-webdriver. Jeśli ponownie pojawi się jakikolwiek błąd, możesz potrzebować narzędzi programistycznych wiersza poleceń, dlatego zainstaluj je za pomocą [$ git - wersja]. Jak już mamy, nie zainstalowaliśmy go tutaj.
Aby zainstalować sterownik Chrome, potrzebujemy homebrew [$ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”].
Zainstalujmy sterownik Chrome. [$ brew install chromedriver].
Wypróbuj ten kod w terminalu:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Za pomocą tego kodu przeglądarka powinna otworzyć się na określonej stronie internetowej. Teraz zainstalujemy Watir: [$ gem install water].
Zakończyliśmy proces instalacji. Możesz teraz zacząć pisać skrypty testowe.
Jak korzystać z Watir: tworzenie i wykonywanie przypadków testowych
Możesz pisać przypadki testowe lub skrypty w Notatniku. Zapisz ten plik z rozszerzeniem .rb.
Przykład: Załóżmy, że utworzyłeś jeden plik test.rb. Aby uruchomić ten skrypt / program, kliknij dwukrotnie ten plik lub wykonaj czynności wymienione poniżej. Załóżmy, że zapisałeś ten plik na dysku C. Adres tego pliku to „C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Naciśnij przycisk ENTER. Aby edytować ten plik, kliknij go prawym przyciskiem myszy i wybierz opcję Otwórz za pomocą.
1) Równoległe uruchamianie przypadków testowych
Jeśli napisałeś dwa przypadki testowe i zapisałeś je jako test1.rb i test2.rb. Aby uruchomić te dwa testy równolegle, musisz wykonać następujące kroki:
Ryc.9: Przejdź do wiersza polecenia i wpisz [> gem install parallel_tests]. Zobaczysz następujący komunikat.
jak odtworzyć plik torrent
Następnie przeprowadź testy.
>parallel_test test1.rb test2.rb
# 2) Tworzenie zestawu testów
Jeśli chcesz, aby kilka testów było uruchamianych często i dodawało je do zestawu testów, oto kod do nich.
Kod:
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.
Zapisz ten plik jako testSuite.rb i uruchom
C: Ruby_Programs> ruby testSuite.rb
Watir Przykłady
Przykład 1:
Ponieważ jest to nasz pierwszy program, po prostu otworzymy stronę internetową „Google.co.in” i klikniemy łącze Gmail.
Kod:
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
Zrozumienie Kodeksu
# 1) require 'watir' # Tutaj mówimy, że będziemy potrzebować biblioteki Watir do uruchomienia naszego programu i zostanie ona załadowana tą instrukcją.
# 2) test_site = “https://www.google.co.in/” # Tutaj deklarujemy zmienną.
# 3) browser = Watir :: Browser.new: firefox # Tutaj otwieramy przeglądarkę Firefox.
Watir :: Browser.new: internet_explorer # Dla przeglądarki Internet Explorer
Watir :: Browser.new: safari # Dla Safari
# 4) browser.goto test_site # Lub browser.goto „https://www.google.co.in/” # Goto Polecenie służy do nawigacji do określonej witryny.
# 5) browser.link (: href, „https://mail.google.com/mail/?tab=wm”).click # Tutaj klikamy łącze Gmail. Hiperłącze jest określane jako łącze w kodzie i używamy jego właściwości „href” do lokalizowania tego hiperłącza.
# 6) umieszcza „Test wykonany”. # W tym wierszu zostanie zapisany ciąg „Test wykonany” w wierszu polecenia.
# 7) browser.close # Ta linia zamknie przeglądarkę.
Jeśli nie wymienimy nazw przeglądarek, napiszemy tylko tę linię w naszym kodzie [Watir :: Browser.new], Watir otworzy przeglądarkę Chrome, ponieważ Chrome jest domyślną przeglądarką Watir.
Przykład 2:
W tym przykładzie otworzymy stronę internetową www.google.co.in. Następnie przeszukamy tekst „Testowanie ręczne”. Następnie wrócimy na stronę główną i klikniemy link „Gmail”.
Kod:
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'
Zrozumienie Kodeksu:
# 1) browser.goto https://www.google.co.in - Tutaj przechodzimy do określonej witryny.
# 2) Jeśli browser.title.include? „Google” - tutaj sprawdzamy tytuł strony internetowej, czy jest zgodny z oczekiwaniami, czy nie. W dalszej części tego „Jeśli” umieszczamy stwierdzenie: „Albo jesteś na złej stronie, albo nie znaleziono strony”. To oświadczenie zostanie wyświetlone w wierszu polecenia.
# 3) browser.text_field (: class, „gsfi”). Set „Manual Testing” - Tutaj wpisujemy tekst „Manual Testing” w polu tekstowym wyszukiwania.
# 4) browser.button (: name, „btnK”). Click - Tutaj klikamy przycisk „Google Search”.
# 5) jeśli browser.text.include? „Testowanie ręczne to proces znajdowania usterek” - teraz sprawdzamy tekst na stronie, aby sprawdzić, czy otrzymaliśmy poprawny wynik wyszukiwania. W części „Inaczej” tego stwierdzenia „Jeśli” umieszczamy stwierdzenie „Znaleziono nieprawidłowy wynik”.
# 6) wstawia „Tytuł strony internetowej” + browser.title - Tutaj wyświetlamy tytuł strony w wierszu poleceń.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”).click - Tutaj klikamy obraz, aby wrócić do strony głównej.
# 8) browser.link (: class, „gb_P”). Click - Tutaj klikamy link do Gmaila.
# 9) wstawia „Teraz tytuł strony internetowej” + browser.title - Teraz ponownie umieszczamy tytuł strony w wierszu poleceń. Powinien to być tytuł strony Gmaila.
# 10) browser.close - Tutaj zamykamy przeglądarkę.
# 11) umieszcza „Test wykonany pomyślnie”. Aby upewnić się, że wszystkie kroki zostały wykonane poprawnie, umieszczamy to oświadczenie w wierszu polecenia.
Przykład 3:
W tym przykładzie postaramy się użyć maksymalnych poleceń Watir, abyś zrozumiał, jak ich używać. Zobaczymy również jego opis wraz z kodem.
Kod z komentarzami:
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
Czekam i specjalne klucze
Watir obsługuje dwa typy instrukcji wait. Pierwsza to jawne oczekiwanie, a druga to niejawne oczekiwanie. Widzieliśmy składnię obu w powyższym kodzie, tj. Przykład 3.
Klucze specjalne obsługiwane przez Watir: Najpierw zobaczymy składnię użycia tych kluczy specjalnych.
- browser.send_keys: page_up # Użyliśmy tego w naszym kodzie.
- browser.element.send_keys [: control, „c”],: cancel
- browser.element.click (: enter,: space)
Poniżej znajduje się lista klawiszy specjalnych obsługiwanych przez Watir:
:wchodzić | : f1 | :kontrola | : numpad0 |
:Zmiana | : f2 | :wszystko | : numpad1 |
:zero | : f3 | :pauza | : numpad2 |
:Anuluj | : f4 | :ucieczka | : numpad3 |
:Wsparcie | : f5 | :przestrzeń | : numpad4 |
: backspace | : f6 | :koniec | : numpad5 |
:patka | : f7 | :Dom | : numpad6 |
:powrót | : f9 | :w górę | : numpad8 |
: left_shift | : f10 | :dobrze | : numpad9 |
: left_control | : f11 | :na dół | :zwielokrotniać |
:Strona w górę | : f12 | :wstawić | :Dodaj |
:Strona w dół | : meta | :kasować | :odejmować |
: arrow_left | :Komenda | :równa się | : podziel |
Testowanie regresji z Watir
W testach regresji sprawdzamy, czy zmiany wpłynęły na niezmienioną część, czy nie.
W tym celu musimy ponownie uruchomić nasze poprzednie przypadki testowe. Testowanie regresji będzie czasochłonne, jeśli będzie wykonywane ręcznie. Watir jest jednym z najlepszych narzędzi do testowania regresji, ponieważ pisanie, utrzymywanie / aktualizowanie i wykonywanie przypadków testowych jest łatwe.
Wniosek
Podsumowując, możemy powiedzieć, że Watir jest łatwy do nauczenia się tego narzędzia. Jest to narzędzie typu open source, dzięki czemu jest opłacalne i łatwe w użyciu. Chociaż nie ma tak wielu zalet w porównaniu z Selenium WebDriver, jest lepszym narzędziem w porównaniu z wieloma innymi narzędziami.
Obsługuje programowanie, dzięki czemu jest znacznie lepszy niż inne narzędzia do nagrywania i odtwarzania. Jest to rzeczywiście jedno z najlepszych narzędzi do testowania regresji.
Czy wypróbowałeś narzędzie Watir?
rekomendowane lektury
- 30+ najlepszych samouczków dotyczących selenu: naucz się selenu z prawdziwymi przykładami
- Samouczek Selenium ChromeDriver: Testy Selenium Webdriver w przeglądarce Chrome
- Ponad 180 przykładowych przypadków testowych aplikacji internetowych (przykładowa lista kontrolna)
- Ponad 30 najlepszych narzędzi do testowania aplikacji internetowych w 2021 r. (Pełna lista)
- Kompletny przewodnik po testowaniu aplikacji internetowych (jak przetestować witrynę internetową)
- 10 najpopularniejszych narzędzi do testowania regresji w 2021 r
- Co to jest testowanie regresji? Definicja, narzędzia, metoda i przykład
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]