getting started with watir
Watir - це абревіатура від 'Тестування веб-додатків у Ruby'. Дізнайтеся, як встановити та використовувати Watir для створення та запуску тестових випадків на прикладах коду:
Ватір вимовляється як Вода. Це колекція бібліотек Ruby з відкритим кодом. Оскільки це тестування веб-додатків у Ruby, воно використовує Ruby як свою мову сценаріїв.
Що ви дізнаєтесь:
- Встановлення Ватира
- Як використовувати Watir: Створення та виконання тестових справ
- Приклади Ватіра
- Чекання та спеціальні ключі
- Регресійне тестування Ватіром
- Висновок
- Рекомендована література
Встановлення Ватира
Для використання Watir потрібно мати базові знання HTML, програмування та Ruby. Однак, оскільки сам 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 (редакція 14.12.2017 61247) (x64-mingw32)
Програмне забезпечення, написане на Ruby, називається Ruby Gems. Ми встановили Ruby, але існує ймовірність того, що у нас може бути не остання версія цих Ruby Gems. Отже, спочатку нам потрібно перевірити цю версію каменя за допомогою команди> gem –v, ось ми отримали версію 2.6.14.
Ми оновимо його за допомогою команди:
> gem update - система
Після закінчення ми отримаємо повідомлення– Оновлено програмне забезпечення системи RubyGems .
Тепер нам потрібно встановити веб-драйвер Selenium gem за допомогою команда (> gem встановити драйвер selenium-web –no-ri –no-rdoc).
Він буде встановлений, і ви отримаєте таке повідомлення:
Отримання: селен-веб-драйвер-3.11.0.gem (100%)
Успішно встановлено драйвер selenium-web-3.11.0
Встановлено 1 самоцвіт
YouTube у mp3 протягом 20 хв
** Якщо ви отримали повідомлення про брандмауер Windows, закрийте це вікно.
Тепер нам потрібен IEDriverServer. Клацніть тут завантажити IEDriverServer
Клацніть на перше посилання, а потім виберіть відповідну версію для свого комп'ютера, тобто Win32 або X64.Zip-файл завантажиться. Щоб знати, де витягти ці файли, виконайте такі дії:
Перейдіть до командного рядка.
Введіть> PATH
Рис.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 | |
Гугл хром | хромедрівер | http://chromedriver.storage.googleapis.com/index.html | |
Сафарі | - | Safari не працює для Windows |
Встановлення Watir:
- Перейдіть до командного рядка.
- Введіть command> gem install watir
- Натисніть кнопку введення.
Watir буде встановлено. Тепер ви можете почати використовувати Watir.
Встановлення Watir Для Mac
Кроки:
- Встановлення Ruby
- Встановлення Ruby gem
- Оновлення самоцвіту Ruby
- Встановлення Selenium WebDriver
- Встановлення драйвера IE / драйвера Gecko / драйвера Chrome / драйвера сафарі
- Встановлення Watir
Немає необхідності встановлювати Ruby на Mac. Отже, ми вже пройшли перший крок. Це заощадить багато часу. Ми перевіримо версію ruby за допомогою команди: $ рубін -в
Ось, у нас це як - ruby 2.0.0p648 (редакція 16.12.2015 53162) (universal.x86_64-darwin16)
Тепер ми перевіримо версію ruby: gem $ gem -v
Ось - 2.0.14.1. Ми оновимо наші рубінові камені за допомогою команди- $ sudo gem update - система. Ми встановимо Selenium WebDriver за допомогою команди: $ sudo gem встановити selenium-webdriver —no-ri —no-rdoc
Існує можливість отримати таку помилку під час встановлення веб-драйвера Selenium або оновлення рубінового каменя.
Помилка :Безпечне завантаження YAML недоступне. Будь ласка, оновіть Psych до версії, яка підтримує безпечне завантаження (> = 2.0).
Щоб вирішити цю помилку, нам потрібно оновити наш Ruby. Для оновлення Ruby нам спочатку потрібен менеджер версій Ruby, ви можете отримати його за допомогою цієї команди ($ curl -L https://get.rvm.io | bash -s стабільний) . Щоб встановити останню версію типу Ruby ($ rvm встановити ruby - (версія)) . Перезапустіть термінал після повного встановлення rvm.
Тепер нам потрібно встановити цю останню версію, як ми хочемо її використовувати. Отже, введіть ($ rvm use ruby-2.4.1). Щоб встановити цю версію за замовчуванням, скористайтеся наступною командою: ($ rvm —за замовчуванням 2.4.1). Тепер знову оновіть рубінові камені. Спробуйте встановити селен-веб-драйвер. Якщо ви знову отримаєте будь-яку помилку, можливо, вам знадобляться інструменти розробника командного рядка, отже, встановіть її за допомогою ($ 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: Створення та виконання тестових справ
Ви можете писати тестові кейси або сценарії в Блокноті. Збережіть цей файл із розширенням .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) Створення тестового набору
Якщо ви хочете, щоб кілька тестів запускались часто і додавали їх до набору тестів, то ось код для нього.
Код:
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 (: клас, “gsfi”). Встановити “Тестування вручну” - Тут ми вводимо текст “Тестування вручну” в текстове поле пошуку.
# 4) browser.button (: name, “btnK”). Click - Тут ми натискаємо кнопку “Google Search”.
# 5) якщо browser.text.include? «Тестування вручну - це процес виявлення дефектів» - Зараз ми перевіряємо текст на веб-сторінці, щоб перевірити, чи отримали ми правильний результат пошуку. У частині «Інше» цього твердження «Якщо» ми розміщуємо твердження «Знайдено неправильний результат».
№6) ставить “Заголовок веб-сторінки” + browser.title - Тут ми відображаємо заголовок веб-сторінки в командному рядку.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.pngassign).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 |
: shift | : f2 | : все | : numpad1 |
:нуль | : f3 | : пауза | : numpad2 |
: скасувати | : f4 | :Втеча | : numpad3 |
: допомога | : f5 | : простір | : numpad4 |
: зворотний простір | : f6 | : кінець | : numpad5 |
: вкладка | : f7 | : будинок | : numpad6 |
: повернення | : f9 | : вгору | : numpad8 |
: left_shift | : f10 | : правильно | : numpad9 |
: left_control | : f11 | : вниз | : помножити |
: page_up | : f12 | : вставити | : додати |
:сторінка вниз | : мета | : видалити | : відняти |
: arrow_left | : command | : дорівнює | : розділити |
Регресійне тестування Ватіром
При регресійному тестуванні ми перевіряємо, чи вплинули зміни на незмінену деталь чи ні.
Для цього нам потрібно повторити наші попередні тестові приклади. Регресійне тестування забирає багато часу, якщо проводити його вручну. Watir - один із найкращих інструментів тестування регресії, оскільки написання, підтримка / оновлення та виконання тестових кейсів є простими.
Висновок
На закінчення можна сказати, що Ватір легко навчитися інструменту. Це інструмент з відкритим кодом, отже він економічно ефективний і простий у використанні. Хоча він не має настільки багато переваг перед Selenium WebDriver, він є кращим інструментом у порівнянні з багатьма іншими інструментами.
Він підтримує програмування, отже, набагато кращий за інші інструменти запису та відтворення. Це справді один з найкращих засобів регресійного тестування.
Ви пробували інструмент Watir?
Рекомендована література
- 30+ найкращих підручників із селену: вивчіть селен на реальних прикладах
- Підручник із селену ChromeDriver: Тести веб-драйверів на селен у Chrome
- 180+ Приклади тестування веб-додатків (приклади контрольного списку)
- 30 найкращих засобів тестування веб-додатків у 2021 році (вичерпний список)
- Повне керівництво по тестуванню веб-додатків (Як протестувати веб-сайт)
- 10 найпопулярніших засобів тестування регресії в 2021 році
- Що таке регресійне тестування? Визначення, інструменти, метод та приклад
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)