Watir: Основные принципы в интерактивном режиме

Это руководство охватывает описание работы инструмента Watir в интерактивном режиме с использованием Interactive Ruby Shell (IRB) и Internet Explorer Developer Toolbar(IE Dev). IRB был установлен вместе с Ruby, а вот IE Dev вам нужно загрузить и установить.


Запускаем интерактивную среду 

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }irb{/syntaxhighlighter}

И переходим в интерактивную среду Ruby.

{syntaxhighlighter brush: ruby;fontsize: 100; first-line: 1; }irb(main):001:0>{/syntaxhighlighter}

Добавляем необходимые библиотеки

Если же вы используете Ruby, версии 1.8.7, то первым делом нужно выполнить добавление следующей библиотеки

{syntaxhighlighter brush: ruby;fontsize: 100; first-line: 1; }require ‘rubygems’{/syntaxhighlighter}

Добавляем библиотеку Watir.

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }require ‘watir’{/syntaxhighlighter}

В консоле вы должны увидеть:

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }irb(main):001:0> require "watir" => true{/syntaxhighlighter}

Открываем браузер для работы

Создаем объект браузера Internet Explorer, с которым будем работать

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser = Watir::Browser.new{/syntaxhighlighter}

Открываем страницу

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.goto("http://bit.ly/watir-example"){/syntaxhighlighter}

Страница http://bit.ly/watir-example приведена как пример для работы с базовыми возможностями Watir.

После выполнения команды должен открыться IE с тестовой страницей.

Установка значения input поля

С помощью IE Dev, делаем 'Inspect Element' и узнаем идентификатор верхнего input поля.

{syntaxhighlighter brush: xml;fontsize: 100; first-line: 1; }<input type="text" name="entry.0.single" value="" class="ss-q-short" id="entry_0">{/syntaxhighlighter}

Пытаемся добавить текст Watir в input поле с атрибутом name="entry.0.single"

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.text_field(:name => "entry.0.single").set "Watir"{/syntaxhighlighter}

После выполнения команды текст Watir должен быть введен в input поле.

 

Установка значения textbox поля

С помощью IE Dev, делаем 'Inspect Element' и узнаем идентификатор textbox поля.

{syntaxhighlighter brush: xml;fontsize: 100; first-line: 1; }<textarea name="entry.1.single" rows="8" cols="75" class="ss-q-long" id="entry_1">{/syntaxhighlighter}

Устанавливаем значение для этого поля

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.text_field(:name => "entry.1.single").set "Watir is the best tool for functional testing. \n I really love it."{/syntaxhighlighter}

После выполнения команды, поле textarea должно содержать текст «Watir is the best tool for functional testing. I really love it.»

 

Установка и очистка значения radio button

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.radio(:value => "Watir").set browser.radio(:value => "Watir").clear{/syntaxhighlighter}

 

Установка и очистка check boxes

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.checkbox(:value => "Ruby").set browser.checkbox(:value => "Python").set browser.checkbox(:value => "Python").clear{/syntaxhighlighter}

 

Очистка, установка и получение значения выпадающих списков

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.select_list(:name => "entry.6.single").clear puts browser.select_list(:name => "entry.6.single").options browser.select_list(:name => "entry.6.single").select "Chrome"{/syntaxhighlighter}

 

Нажатие кнопки

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.button(:name => "submit").click{/syntaxhighlighter}

 

Проверка текста на странице

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }puts browser.text.include? "Your response has been recorded."{/syntaxhighlighter}

 

Закрываем браузер

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }browser.close{/syntaxhighlighter}

И завершаем работу в интерактивном откладчике(IRB)

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }exit{/syntaxhighlighter}

 

Дальнейшие уроки будут посвящены написаю тестовых скриптов разными способами, используя возможности Ruby.