getting started with watir
как да сортирам масив
Watir е съкращение от „Тестване на уеб приложения в Ruby“. Научете как да инсталирате и използвате Watir за създаване и стартиране на тестови случаи с примери за кодове:
Watir се произнася като вода. Това е колекция с отворен код на Ruby библиотеки. Тъй като това е тестване на уеб приложения в Ruby, той използва Ruby като свой скриптов език.
Какво ще научите:
- Инсталиране на Watir
- Как да използвам Watir: Създаване и изпълнение на тестови случаи
- Примери за Ватир
- Чакания и специални ключове
- Регресионно тестване с Watir
- Заключение
- Препоръчително четене
Инсталиране на Watir
Човек трябва да има основни познания по HTML, програмиране и Ruby, за да използва Watir. Тъй като самата Ruby е лесна за използване и разбиране, изучаването й и използването на Watir не е толкова трудно.
Инсталация на Watir за Windows
Има голям шанс да нямате инсталиран Ruby на компютъра си. За да проверите това, отворете командния ред и въведете > ruby –v и натиснете ‘Enter’ .
Фигура 1: Ако нямате инсталиран Ruby, ще получите следното съобщение.
Ако Ruby е инсталиран, ще получите версията му с тази команда. Можете да щракнете тук за да изтеглите най-новата версия на Ruby. Изберете подходящата версия, самият уебсайт ще препоръча Ruby 2.4.X като инсталатор на x64 или x86.
Фигура 2: Когато кликнете върху тази версия, ще получите следния прозорец.
Фигура 3: Щракнете върху бутона Старт Изтегляне и ще видите следния прозорец.
Тъй като процесът на изтегляне е на пауза с цел да се направи екранна снимка, вие можете да видите „Старт“ бутон, в противен случай ще можете да видите ‘Пауза’ бутон тук. Сега отидете на местоположението / папката, където файлът ви е изтеглен (тук, както можете да видите на фиг. 2, местоположението е: C: Users Ojas Downloads Programs ).
Фигура 4: Изпълнете файла rubyinstaller-2.4.3-2-x64.exe.
Фигура 5: Изберете „Приемам лиценза“ и щракнете върху „Напред“:
Фигура 6: Щракнете върху Инсталиране и след това Край.
Горният екран ще попита „Кои компоненти да бъдат инсталирани?“ Ако не сте сигурни, просто натиснете клавиша Enter и системата ще инсталира всичките три компонента, т.е. Основна инсталация на MSYS2, актуализация на системата MSYS2 и инструменти за разработка на MSYS2 и MINGW .
Инструментите на MSYS2 са необходими за компилиране на C базирани на рубин скъпоценни камъни. MSYS2 може да се инсталира и ръчно.
Фигура 7: MSYS2 инсталиран ръчно
Инсталирането на всички компоненти ще отнеме няколко минути. Просто затворете командния ред и го отворете отново. След това напишете> ruby –v и натиснете клавиша Enter. Ако получите следното съобщение, това означава, че Ruby е инсталиран успешно.
рубин 2.4.3p205 (2017-12-14 ревизия 61247) (x64-mingw32)
Софтуерът, който е написан на Ruby, се нарича Ruby Gems. Инсталирахме Ruby, но има вероятност да не разполагаме с най-новата версия на тези Ruby Gems. Следователно, първо, трябва да проверим тази версия на скъпоценен камък с помощта на командата> gem –v, тук имаме версия 2.6.14.
Ще го актуализираме с помощта на командата:
> gem update - система
След като приключим, ще получим съобщението– Обновеният системен софтуер на RubyGems .
Сега трябва да инсталираме скъпоценния камък на уеб драйвера на Selenium, използвайки командата (> gem инсталира селеновия уеб драйвер –no-ri –no-rdoc).
Той ще се инсталира и ще получите следното съобщение:
Извличане: селен-уеб драйвер-3.11.0.gem (100%)
Успешно инсталиран селен-уеб драйвер-3.11.0
Инсталиран е 1 скъпоценен камък
** Ако получите съобщение на защитната стена на Windows, затворете този прозорец.
Сега се нуждаем от IEDriverServer. Щракнете тук да изтеглите IEDriverServer
Кликнете върху първата връзка и след това изберете подходящата версия за вашия компютър, т.е. Win32 или X64.Zip файлът ще бъде изтеглен. За да знаете къде да извлечете тези файлове, следвайте стъпките по-долу:
Отидете в командния ред.
Тип> ПЪТ
Фигура 8 : Ще се получи следният резултат:
Ще извлечем нашите файлове в PATH C: Ruby24-x64 bin . Извличайте файлове в пътя на папката си в Ruby. Сега въведете irb в командния ред и натиснете ENTER. IRB означава Interactive Ruby.
> изискват „селен-уеб драйвер“
Ще получите => true
> браузър = Селен :: WebDriver.for: internet_explorer
Вашият IE браузър ще се отвори и ще видите съобщението: „Това е началната начална страница за сървъра WebDriver“ .
За да отворите уеб страница www.google.co.in в браузъра IE, въведете в командата:
> браузър. вземете „https://www.google.co.in/“
Следващата таблица ще ви даде списък с драйвери на съответните браузъри и техните връзки за изтегляне. Следвайте същата процедура за останалите драйвери, както е обяснена за IEDriverServer.
Име на браузъра | Име на драйвера | Линк за изтегляне | |
---|---|---|---|
: ясно | : f8 | :наляво | : numpad7 |
Firefox | шофьор на гекон | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | хромедривър | http://chromedriver.storage.googleapis.com/index.html | |
Сафари | - | Safari не работи за Windows |
Инсталация на Watir:
- Отидете в командния ред.
- Въведете команда> gem install watir
- Натиснете бутона за въвеждане.
Watir ще се инсталира. Сега можете да започнете да използвате Watir.
Инсталация на Watir За Mac
Стъпки:
- Инсталиране на Ruby
- Инсталиране на Ruby gem
- Актуализиране на скъпоценния камък Ruby
- Инсталиране на Selenium WebDriver
- Инсталиране на IE Driver / Gecko Driver / Chrome Driver / safari драйвер
- Инсталиране на Watir
Не е необходимо да инсталирате Ruby на Mac. Следователно вече покрихме първата стъпка. Това ще спести много време. Ще проверим версията на ruby с командата: $ рубин -v
Ето, имаме го като - ruby 2.0.0p648 (2015-12-16 ревизия 53162) (universal.x86_64-darwin16)
Сега ще проверим версията на ruby: скъпоценен камък $ скъпоценен камък -v
Ето го - 2.0.14.1. Ще актуализираме нашите рубинени скъпоценни камъни, като използваме командата- $ sudo gem update - система. Ще инсталираме Selenium WebDriver с помощта на командата: $ sudo gem инсталира селен-webdriver —no-ri —no-rdoc
Има възможност да получите следната грешка, докато инсталирате уеб драйвер на Selenium или актуализирате рубинния скъпоценен камък.
Грешка :Не е налично YAML безопасно зареждане. Моля, надстройте psych до версия, която поддържа безопасно зареждане (> = 2.0).
За да разрешим тази грешка, трябва да актуализираме нашия Ruby. За да актуализираме Ruby, първо ще изискваме мениджър на версии на Ruby, можете да го получите с помощта на тази команда ($ curl -L https://get.rvm.io | баш-стабилен) . За да инсталирате най-новата версия на типа Ruby ($ rvm инсталирайте ruby - (версия)) . Рестартирайте терминала, след като rvm е напълно инсталиран.
Сега трябва да зададем тази последна версия, както искаме да я използваме. Така че напишете ($ rvm use ruby-2.4.1). За да зададете тази версия като версия по подразбиране, използвайте следната команда: ($ rvm —по подразбиране използва 2.4.1). Сега отново актуализирайте рубинните скъпоценни камъни. Опитайте да инсталирате селен-webdriver. Ако отново получите някаква грешка, може да се наложи инструментите за разработчици на командния ред, поради което да я инсталирате с помощта на ($ git —version). Както вече имаме, не сме го инсталирали тук.
За да инсталираме chrome драйвера, ни трябва homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Нека инсталираме драйвера на Chrome. ($ brew инсталирайте chromedriver).
Опитайте този код в терминал:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
С този код вашият браузър трябва да се отвори с посочената уеб страница. Сега ще инсталираме Watir: ($ gem инсталирайте вода).
Приключихме с инсталационния процес. Вече можете да започнете да пишете тестови скриптове.
Как да използвам Watir: Създаване и изпълнение на тестови случаи
Можете да напишете тестовите случаи или скриптове в Notepad. Запазете този файл с разширение .rb.
Пример: Да предположим, че сте създали един файл test.rb. За да стартирате този скрипт / програма щракнете двукратно върху този файл или следвайте стъпките, изброени по-долу. Да предположим, че сте запазили този файл в C устройството. Адресът на този файл е “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Натиснете бутона ENTER. За да редактирате този файл, щракнете с десния бутон върху него и изберете опцията Отваряне с.
# 1) Изпълнение на тестови случаи в паралел
Ако сте написали два тестови случая и сте ги запазили като test1.rb и test2.rb. За да стартирате тези два теста паралелно, трябва да изпълните следните стъпки:
Фиг.9: Отидете в командния ред и напишете (> gem инсталирайте паралелни_тестове). Ще видите следното съобщение.
След това стартирайте тестовете си.
>parallel_test test1.rb test2.rb
# 2) Създаване на Test Suite
Ако искате няколко теста да се изпълняват често и да ги добавяте в тестовия пакет, ето кода за него.
Код:
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.
Запазете този файл като testSuite.rb и стартирайте
C: Ruby_Programs> ruby testSuite.rb
Примери за Ватир
Пример 1:
Тъй като това е първата ни програма, ние просто ще отворим уеб страницата „Google.co.in“ и щракнем върху връзката Gmail.
Код:
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
Разбиране на кодекса
# 1) изисква ‘watir’ # Тук казваме, че ще изискваме библиотеката на Watir да стартира нашата програма и тя ще се зареди с това изявление.
# 2) test_site = “https://www.google.co.in/” # Тук декларираме променливата.
# 3) браузър = Watir :: Browser.new: firefox # Тук отваряме браузъра Firefox.
Watir :: Browser.new: internet_explorer # За Internet Explorer
Watir :: Browser.new: safari # За Safari
# 4) browser.goto test_site # Или browser.goto “https://www.google.co.in/” # команда goto се използва за навигация до посочения уебсайт.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wmARY).click # Тук щракваме върху връзката Gmail. Хипервръзката е посочена като връзка в кода и ние използваме нейното свойство „href“, за да намерим тази хипервръзка.
# 6) поставя „Тестът е изпълнен“ # Този ред ще напише низа „Тестът е изпълнен“ в командния ред.
# 7) browser.close # Този ред ще затвори браузъра.
Ако не споменем имената на браузъра, тогава ще напишем само този ред в нашия код (Watir :: Browser.new), Watir ще отвори браузъра Chrome, тъй като Chrome е браузърът по подразбиране за Watir.
Пример 2:
В този пример ще отворим уеб страницата www.google.co.in. След това ще търсим текста „Ръчно тестване“. След това ще се върнем на началната страница и щракнете върху връзката „Gmail“.
Код:
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'
Разбиране на кода:
# 1) browser.goto https://www.google.co.in - Тук ние се придвижваме до посочения уебсайт.
# 2) ако browser.title.include? „Google“ - Тук проверяваме заглавието на уеб страницата дали е според очакванията или не. В другата част на това „Ако“ поставяме това твърдение „Или сте на грешната страница, или страницата не е намерена“. Това изявление ще се покаже в командния ред.
# 3) browser.text_field (: class, “gsfi”). Set “Manual Testing” - Тук въвеждаме текста “Manual Testing” в текстовото поле за търсене.
# 4) browser.button (: name, “btnK”). Click - Тук щракваме върху бутона “Google Search”.
# 5) ако browser.text.include? „Ръчното тестване е процес на откриване на дефектите“ - Сега проверяваме текста на уеб страницата, за да проверим дали сме получили правилния резултат от търсенето. В частта „Else“ на това изявление „Ако“ поставяме изявлението „Намерен грешен резултат“.
# 6) поставя „Заглавие на уеб страница“ + browser.title - Тук показваме заглавието на уеб страницата в командния ред.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.pngARY).click - Тук кликваме върху изображението, за да се върнем на началната страница.
# 8) browser.link (: class, “gb_P”). Click - Тук щракваме върху връзката Gmail.
# 9) поставя „Сега заглавието на уеб страницата“ + browser.title - Сега отново поставяме заглавието на уеб страницата в командния ред. Това трябва да е заглавието на страницата в Gmail.
# 10) browser.close - Тук затваряме браузъра.
# 11) поставя „Тестът е изпълнен успешно“. За да сме сигурни, че всички стъпки са изпълнени правилно, ние поставяме това изявление в командния ред.
Пример 3:
В този пример ще се опитаме да използваме максимални команди на Watir, за да разберете как да ги използвате. Ще видим и неговото описание заедно с кода.
Код с коментари:
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
Чакания и специални ключове
Има два вида известия за изчакване, поддържани от Watir. Първото е изрично чакане, а второто е неявно чакане. Видяхме синтаксиса и за двете в горния код, т.е. Пример 3.
Специални ключове, поддържани от Watir: Първо, ще видим синтаксиса за използването на тези специални ключове.
- browser.send_keys: page_up # Използвахме това в нашия код.
- browser.element.send_keys (: control, ‘c’),: cancel
- browser.element.click (: enter,: space)
Следва списък на специалните ключове, които се поддържат от Watir:
: въведете | : f1 | : контрол | : numpad0 |
: смяна | : f2 | : всичко | : numpad1 |
:нула | : f3 | : пауза | : numpad2 |
: отмяна | : f4 | : бягство | : numpad3 |
:помогне | : f5 | : пространство | : numpad4 |
: backspace | : f6 | :край | : numpad5 |
:раздел | : f7 | :У дома | : numpad6 |
: връщане | : f9 | : нагоре | : numpad8 |
: left_shift | : f10 | : правилно | : numpad9 |
: left_control | : f11 | : надолу | : умножете |
:Страница нагоре | : f12 | : вмъкване | : добавяне |
: page_down | : мета | :Изтрий | : изваждане |
: arrow_left | : команда | :равно на | : разделям |
Регресионно тестване с Watir
При регресионното тестване проверяваме дали промените са засегнали непроменената част или не.
За това трябва да повторим предишните си тестови случаи. Регресионното тестване ще отнеме много време, ако се извърши ръчно. Watir е един от най-добрите инструменти за тестване на регресия, тъй като писането, поддържането / актуализирането и изпълнението на тестови случаи са лесни.
Заключение
В заключение можем да кажем, че Watir е лесен за научаване на инструмента. Това е инструмент с отворен код, поради което е рентабилен и лесен за използване. Въпреки че няма толкова много предимства пред Selenium WebDriver, той е по-добър инструмент в сравнение с много други инструменти.
Той поддържа програмиране, поради което е много по-добър от другите инструменти за запис и възпроизвеждане. Това наистина е един от най-добрите инструменти за тестване на регресия.
Пробвали ли сте с инструмента Watir?
Препоръчително четене
- 30+ най-добри урока за селен: Научете селен с реални примери
- Урок за ChromeDriver Selenium: Тестове за Selenium Webdriver в Chrome
- 180+ Примери за тестване на уеб приложения (примерни контролни списъци)
- Топ 30+ инструменти за тестване на уеб приложения през 2021 г. (изчерпателен списък)
- Пълно ръководство за тестване на уеб приложения (Как да тествате уебсайт)
- Топ 10 на най-популярните инструменти за тестване на регресия през 2021 г.
- Какво е регресионно тестване? Определение, инструменти, метод и пример
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)