Это руководство охватывает описание работы инструмента 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"
После выполнения команды текст 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.