getting started with watir
Ватир је скраћеница од „Тестирање веб апликација у рубију“. Сазнајте како инсталирати и користити Ватир за креирање и покретање тест случајева са примерима кода:
Ватир се изговара као Вода. То је збирка Руби библиотека отвореног кода. Како се ради о тестирању веб апликација у Руби-у, он користи Руби као свој скриптни језик.
Шта ћете научити:
- Инсталација Ватира
- Како се користи Ватир: Израда и извршење тест случајева
- Ватир примери
- Чекања и посебни тастери
- Испитивање регресије са Ватиром
- Закључак
- Препоручено читање
Инсталација Ватира
Треба користити основно знање ХТМЛ-а, програмирања и Руби-а да бисте користили Ватир. Међутим, како је сам Руби лак за употребу и разумевање, његово учење и употреба Ватира није толико тешко.
Ватир инсталација за Виндовс
Постоји велика шанса да на рачунару немате инсталиран Руби. Да бисте то проверили, отворите Цомманд Промпт и унесите > руби –в и притисните „Ентер“ .
Слика 1: Ако немате инсталиран Руби, добићете следећу поруку.
Ако је Руби инсталиран, овом верзијом добићете његову верзију. Можете кликнути овде да бисте преузели најновију верзију Руби-а. Изаберите одговарајућу верзију, сама веб локација ће препоручити Руби 2.4.Кс као инсталациони систем к64 или к86.
Слика 2: Када кликнете на ову верзију, добићете следећи прозор.
Слика 3: Кликните на дугме Покрени преузимање и видећете следећи прозор.
Како је поступак преузимања паузиран ради снимања снимка екрана, моћи ћете да видите 'Почетак' дугме, у супротном ћете моћи да видите „Пауза“ дугме овде. Сада идите на локацију / директоријум где се датотека преузима (овде, као што видите на слици 2, локација је: Ц: Корисници Ојас Преузимања Програми ).
Слика 4: Покрените датотеку рубиинсталлер-2.4.3-2-к64.еке.
Слика 5: Изаберите „Прихватам лиценцу“ и кликните на „Даље“:
Слика 6: Кликните Инсталирај, а затим Заврши.
Горњи екран ће питати „Које компоненте треба инсталирати?“ Ако нисте сигурни, само притисните тастер Ентер и систем ће инсталирати све три компоненте, тј. МСИС2 основна инсталација, МСИС2 ажурирање система и МСИС2 и МИНГВ развојни ланац алата .
МСИС2 алати су неопходни за састављање рубин драгуља заснованих на Ц. МСИС2 се такође може инсталирати ручно.
Слика 7: МСИС2 инсталиран ручно
Инсталирање свих компонената потрајаће неколико минута. Само затворите командну линију и поново је отворите. Затим откуцајте> руби –в и притисните тастер Ентер. Ако добијете следећу поруку, то значи да је Руби успешно инсталиран.
руби 2.4.3п205 (ревизија 2017-12-14 61247) (к64-мингв32)
Софтвер написан на језику Руби зове се Руби Гемс. Инсталирали смо Руби, али постоји могућност да можда немамо најновију верзију ових Руби Гемс-а. Отуда прво морамо да проверимо ову верзију драгуља помоћу наредбе> гем –в, ево верзије 2.6.14.
Ажурираћемо је помоћу наредбе:
> ажурирање драгуља - систем
Када завршимо, добит ћемо поруку– Ажуриран системски софтвер РубиГемс .
Сада морамо да инсталирамо драгуљ за драјвер Селениум користећи наредба (> гем инсталирати селениум-веб управљачки програм –но-ри –но-рдоц).
Инсталираће се и добићете следећу поруку:
Преузимање: селениум-веб дривер-3.11.0.гем (100%)
Успешно инсталиран селениум-веб дривер-3.11.0
Инсталиран 1 драгуљ
** Ако добијете било какву поруку Виндовс заштитног зида, затворите тај прозор.
Сада нам треба ИЕДриверСервер. Кликните овде да бисте преузели ИЕДриверСервер
Кликните на прву везу, а затим одаберите одговарајућу верзију за свој рачунар, тј. Вин32 или Кс64.Зип датотека ће се преузети. Да бисте знали где да издвојите ове датотеке, следите кораке у наставку:
Идите на Цомманд промпт.
Тип> ПУТ
најбољи софтвер за клонирање за Виндовс 10
Слика 8 : Добиће се следећи резултат:
Издвојићемо своје датотеке у ПАТХ Ц: Руби24-к64 бин . Издвојите датотеке у путању до Руби фасцикле. Сада откуцајте ирб у командној линији и притисните ЕНТЕР. ИРБ је кратица од Интерацтиве Руби.
> захтевају „селениум-вебдривер“
Добићете => тачно
> прегледач = Селениум :: ВебДривер.фор: интернет_екплорер
Ваш ИЕ прегледач ће се отворити и видећете поруку: „Ово је почетна почетна страница за ВебДривер сервер“ .
Да бисте отворили веб страницу ввв.гоогле.цо.ин у ИЕ прегледачу, унесите у наредби:
> претраживач. добити „хттпс://ввв.гоогле.цо.ин/“
Следећа табела ће вам дати листу управљачких програма за одговарајуће прегледаче и њихове везе за преузимање. Следите исти поступак за остале управљачке програме као и за ИЕДриверСервер.
Име прегледача | Име возача | Линк за скидање | |
---|---|---|---|
:јасно | : ф8 | : лево | : нумпад7 |
Фирефок | возач гекона | хттпс://гитхуб.цом/мозилла/гецкодривер/релеасес | |
Гоогле Цхроме | цхромедривер | хттп://цхромедривер.стораге.гооглеапис.цом/индек.хтмл | |
Сафари | - | Сафари не ради за прозоре |
Ватир инсталација:
- Идите на командну линију.
- Откуцајте цомманд> гем инсталл ватир
- Притисните дугме за унос.
Ватир ће бити инсталиран. Сада можете почети да користите Ватир.
Ватир инсталација За Мац
Кораци:
- Инсталирање Руби-а
- Инсталирање Руби драгуља
- Ажурирање Руби драгуља
- Инсталирање Селениум ВебДривер
- Инсталирање ИЕ Дривер / Гецко Дривер / Цхроме Дривер / сафари дривер
- Инсталирање Ватир-а
Није потребно инсталирати Руби на Мац. Стога смо први корак већ покрили. Уштедеће много времена. Верзију руби-а проверићемо наредбом: $ рубин -в
Ево, имамо то као - руби 2.0.0п648 (ревизија 16.12.2015 53162) (универсал.к86_64-дарвин16)
Сада ћемо проверити верзију руби: гем $ гем -в
Ево га - 2.0.14.1. Ажурираћемо своје рубинске драгуље помоћу наредбе- $ судо гем упдате —систем. Инсталираћемо Селениум ВебДривер помоћу наредбе: $ судо гем инсталирај селениум-вебдривер —но-ри —но-рдоц
Постоји могућност да добијете следећу грешку приликом инсталирања Селениум вебдривер-а или ажурирања руби драгуља.
Грешка :ИАМЛ сигурно учитавање није доступно. Молимо вас надоградите Псицх на верзију која подржава сигурно учитавање (> = 2.0).
Да бисмо решили ову грешку морамо да ажурирамо наш Руби. Да бисмо ажурирали Руби, прво ће нам требати менаџер верзија Руби, можете га добити помоћу ове наредбе ($ цурл -Л хттпс://гет.рвм.ио |. | басх -с стабилан) . Да бисте инсталирали најновију верзију типа Руби ($ рвм инсталирај руби - (верзија)) . Поново покрените терминал када је рвм потпуно инсталиран.
Сада морамо да поставимо ову најновију верзију како желимо да је користимо. Укуцајте ($ рвм усе руби-2.4.1). Да бисте ову верзију поставили као подразумевану, користите следећу наредбу: ($ рвм - подразумевана употреба 2.4.1). Сада поново ажурирајте руби драгуље. Покушајте да инсталирате селениум-вебдривер. Ако поново добијете било какву грешку, можда ће вам требати алати за програмере наредбеног ретка, па је инсталирајте помоћу ($ гит —версион). Као што већ имамо, овде га нисмо инсталирали.
Да бисмо инсталирали цхроме управљачки програм, потребан нам је хомебрев ($ руби -е “$ (цурл -фсСЛ хттпс://рав.гитхуб.цом/мкцл/хомебрев/го/инсталл) ”).
Инсталирајмо управљачки програм за Цхроме. ($ брев инсталл цхромедривер).
Испробајте овај код у терминалу:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Са овим кодом, прегледач би се требао отворити са наведеном веб страницом. Сада ћемо инсталирати Ватир: ($ гем инсталирајте воду).
Завршили смо са процесом инсталације. Сада можете започети писање тест скрипти.
Како се користи Ватир: Израда и извршење тест случајева
Тест примере или скрипте можете писати у Нотепад. Сачувајте ову датотеку са екстензијом .рб.
Пример: Претпоставимо да сте креирали једну датотеку тест.рб. Да бисте покренули ову скрипту / програм, двапут кликните на ову датотеку или следите доле наведене кораке. Претпоставимо да сте ову датотеку сачували у диску Ц. Адреса ове датотеке је „Ц Руби_Програмс“.
>cd >cd Ruby_Programs >ruby test.rb
Притисните дугме ЕНТЕР. Да бисте уредили ову датотеку, кликните десним тастером миша и изаберите опцију Отвори помоћу.
# 1) Паралелно покретање тест случајева
Ако сте написали два тест случаја и сачували их као тест1.рб и тест2.рб. Да бисте паралелно покренули ова два теста, морате следити ове кораке:
Слика 9: Идите у командну линију и унесите (> гем инсталирати паралелне_тестове). Видећете следећу поруку.
Затим покрените своје тестове.
>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.
Сачувајте ову датотеку као тестСуите.рб и покрените
Ц: Руби_Програмс> руби тестСуите.рб
Ватир примери
Пример 1:
Пошто је ово наш први програм, само ћемо отворити веб страницу „Гоогле.цо.ин“ и кликнути на везу Гмаил.
Шифра:
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) захтева „ватир“ # Овде кажемо да ћемо захтевати Ватир библиотеку да покрене наш програм и учитаће се овом изјавом.
# 2) тест_сите = “хттпс://ввв.гоогле.цо.ин/” # Овде декларишемо променљиву.
# 3) бровсер = Ватир :: Бровсер.нев: фирефок # Овде отварамо прегледач Фирефок.
Ватир :: Бровсер.нев: интернет_екплорер # За Интернет Екплорер
Ватир :: Бровсер.нев: сафари # За Сафари
# 4) бровсер.гото тест_сите # Или бровсер.гото „хттпс://ввв.гоогле.цо.ин/“ # гото команда се користи за навигацију до назначене веб локације.
# 5) бровсер.линк (: хреф, “хттпс://маил.гоогле.цом/маил/?таб=вмассигн).цлицк # Овде кликнемо на везу Гмаил. Хипервеза се назива везом у коду и користимо њено својство „хреф“ да бисмо пронашли ову хипервезу.
# 6) ставља 'Тест Екецутед' # Овај ред ће написати низ 'Тест Екецутед' у командну линију.
# 7) бровсер.цлосе # Овај ред ће затворити прегледач.
Ако не помињемо имена прегледача, тада ћемо у наш код написати само овај ред (Ватир :: Бровсер.нев), Ватир ће отворити прегледач Цхроме јер је Цхроме задати претраживач за Ватир.
Пример 2:
У овом примеру отворићемо веб страницу ввв.гоогле.цо.ин. Затим ћемо претражити текст „Ручно тестирање“. Затим ћемо се вратити на почетну страницу и кликнути на везу „Гмаил“.
Шифра:
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) бровсер.гото хттпс://ввв.гоогле.цо.ин - Овде се налазимо на одређеној веб локацији.
# 2) ако бровсер.титле.инцлуде? „Гоогле“ - Овде проверавамо наслов веб странице да ли је она очекивана или није. У други део овог „Ако“ стављамо ову изјаву „Или сте на погрешној страници или страница није пронађена“. Ова изјава ће се приказати у командној линији.
# 3) бровсер.тект_фиелд (: класа, „гсфи“). Сет „Ручно тестирање“ - Овде у текст за претрагу уносимо текст „Ручно тестирање“.
# 4) бровсер.буттон (: име, „бтнК“). Клик - Овде кликнемо на дугме „Гоогле Сеарцх“.
# 5) ако бровсер.тект.инцлуде? „Ручно тестирање је поступак откривања недостатака“ - Сада проверавамо текст на веб страници да бисмо проверили да ли смо добили тачан резултат претраге. У „Остали“ део ове изјаве „Ако“ стављамо изјаву „Погрешан резултат пронађен“.
# 6) ставља „Наслов веб странице“ + бровсер.титле - Овде приказујемо наслов веб странице у командној линији.
# 7) бровсер.имг (: срц, “/имагес/брандинг/гооглелого/2к/гооглелого_цолор_120к44дп.пнгассигн).цлицк - Овде кликнемо на слику да бисмо се вратили на почетну страницу.
# 8) бровсер.линк (: цласс, “гб_П”). Цлицк - Овде кликнемо на Гмаил везу.
# 9) ставља „Сад наслов веб странице“ + бровсер.титле - Сад поново стављамо наслов веб странице у командну линију. То би требао бити наслов Гмаил странице.
# 10) бровсер.цлосе - Овде затварамо прегледач.
# 11) ставља „Тест је успешно изведен“. Да бисмо били сигурни да су сви кораци правилно изведени, стављамо ову изјаву у командну линију.
Пример 3:
У овом примеру ћемо покушати да користимо максималне Ватир наредбе, тако да ћете разумети како их користити. Видећемо и његов опис заједно са кодом.
Шифра са коментарима:
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
Чекања и посебни тастери
Постоје двије врсте изјава о чекању које подржава Ватир. Прво је експлицитно чекање, а друго је имплицитно чекање. Синтаксу за обе видели смо у горњем коду, тј. Пример 3.
Посебни тастери које подржава Ватир: Прво ћемо видети синтаксу коришћења ових специјалних тастера.
- бровсер.сенд_кеис: паге_уп # Користили смо ово у нашем коду.
- бровсер.елемент.сенд_кеис (: цонтрол, ‘ц’),: цанцел
- бровсер.елемент.цлицк (: ентер,: спаце)
Следи листа специјалних кључева које подржава Ватир:
: ентер | : ф1 | : контрола | : нумпад0 |
:смена | : ф2 | : све | : нумпад1 |
:нула | : ф3 | : пауза | : нумпад2 |
:поништити, отказати | : ф4 | : бекство | : нумпад3 |
:помоћ | : ф5 | : простор | : нумпад4 |
: бацкспаце | : ф6 | :крај | : нумпад5 |
: таб | : ф7 | :кућа | : нумпад6 |
: повратак | : ф9 | : горе | : нумпад8 |
: лефт_схифт | : ф10 | :јел тако | : нумпад9 |
: лефт_цонтрол | : ф11 | : доле | : множити |
:страна горе | : ф12 | : инсерт | :додати |
:страна доле | : мета | : делете | : одузети |
: арров_лефт | : цомманд | : једнако | : подела |
Испитивање регресије са Ватиром
У регресионом тестирању проверавамо да ли су промене утицале на непромењени део или не.
За то морамо да поновимо наше претходне тестове. Регресијско тестирање биће дуготрајно ако се ради ручно. Ватир је један од најбољих алата за регресијско тестирање, јер је писање, одржавање / ажурирање и извршавање тест случајева лако.
Закључак
Да закључимо, можемо рећи да је Ватир лако научити алат. То је алат отвореног кода, стога је исплатив и лак за употребу. Иако нема толико предности у односу на Селениум ВебДривер, бољи је алат у поређењу са многим другим алатима.
Подржава програмирање, па је стога много бољи од осталих алата за снимање и репродукцију. То је заиста један од најбољих алата за регресијско тестирање.
Јесте ли пробали Ватир алат?
Препоручено читање
- 30+ најбољих водича за селен: научите селен на стварним примерима
- Водич за ЦхромеДривер Селениум: Тестови Селениум Вебдривер-а на Цхроме-у
- 180+ примера тестова за тестирање веб апликација (Пример контролне листе)
- Топ 30+ алата за тестирање веб апликација у 2021. години (свеобухватна листа)
- Комплетан водич за тестирање веб апликација (Како тестирати веб локацију)
- 10 најпопуларнијих алата за тестирање регресије 2021
- Шта је регресијско тестирање? Дефиниција, алати, метода и пример
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)