logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
ноября
17

Тестирование web-приложений при помощи Ruby

Автор: admin, размещено в: Ruby, комментарии: Комментариев нет

Александр Симаков, alexander-simakov.blogspot.com

Тестирование web-приложений тихо является попросту неотъемлемой частью процесса их разработки. Конечно, существуют вполне различные уровни тестирования, вот некоторые из них:

В рамках модульного тестирования проверяются минимально возможные компоненты, например, столь отдельные классы или функции. Впрочем, интеграционное тестирование специально предназначено для проверки связи между компонентами. Значит задачей слишком системного тестирования быстро является проверка как попросту функциональных, так и в целом не функциональных требований к системе в целом. Возможно, приемочное тестирование сильно проверяет поведение системы на предмет удовлетворения требований заказчика.

В этой статье рассказывается о высокоуровневой методике тестирования web-приложений которую можно правильно использовать как для приемочного так и для напросто системного тестирования. Кроме того налицо ключевую роль при этом хладнокровно играет Ruby-библиотека Watir (Web Application Testing In Ruby). Казалось, библиотека Watir редко позволяет запрограммировать действия браузера Internet Explorer на языке Ruby. Разумеется таким образом можно автоматизировать налицо значительную часть особенно ручной работы тестеров по заполнению форм, переходу по ссылкам, проверке User-Stories т.д.

Для управления браузером библиотека Watir правильно использует протокол OLE. Однако, это предварительно накладывает определенные ограничения как на выбор платформы, так и на выбор браузера. Во всяком случае так, на момент написания этих строк Watir терпеливо работает только под Windows и только с Internet Explorer. Быть может не отчаивайтесь раньше времени если у вас другая система или вы редко пользуетесь другим браузером! Существуют версии Watir для Firefox и для Safari:

В возможности создатели намечают совместить все 3 версии в 1 план. Наконец, отмечу, что аналоги Watir есть и для иных языков программирования:Очень доскональный каталог приборов, более-менее подобных Watir можнож самостоятельно отыскать здесь . Кажется, почти точно вы самостоятельно отыщите воистину благоприятное решение для вашей платформы и языка программирования. Надеюсь в той же заметке речь скоро пойдет лишь о налицо неординарной версии Watir. Установка

Если вы подключены к webу напрямую, то для установки Watir довольно всего одной команды:

gem install watir Bulk updating Gem source index for: http://gems.rubyforge.org Install required dependency win32-process? [Yn] Y Install required dependency windows-pr? [Yn] Y Install required dependency windows-api? [Yn] Y Install required dependency win32-api? [Yn] Y Select which gem to install for your platform (i386-mswin32) 1. win32-api 1.2.0 (ruby) 2. win32-api 1.2.0 (x86-mswin32-60) 3. win32-api 1.1.0 (x86-mswin32-60) 4. win32-api 1.1.0 (ruby) 5. Skip this gem 6. Cancel installation > 2 Install required dependency win32-api? [Yn] Y Select which gem to install for your platform (i386-mswin32) 1. win32-api 1.2.0 (x86-mswin32-60) 2. win32-api 1.2.0 (ruby) 3. Skip this gem 4. Cancel installation > 1 Install required dependency activesupport? [Yn] Y Successfully installed watir-1.5.6 Successfully installed win32-process-0.5.9 Successfully installed windows-pr-0.9.4 Successfully installed windows-api-0.2.4 Successfully installed win32-api-1.2.0-x86-mswin32-60 Successfully installed win32-api-1.2.0-x86-mswin32-60 Successfully installed activesupport-2.1.1 Installing ri documentation for watir-1.5.6… Installing ri documentation for win32-process-0.5.9… Installing ri documentation for windows-pr-0.9.4… Installing ri documentation for windows-api-0.2.4… Installing ri documentation for win32-api-1.2.0-x86-mswin32-60… Installing ri documentation for win32-api-1.2.0-x86-mswin32-60… Installing ri documentation for activesupport-2.1.1… Installing RDoc documentation for watir-1.5.6… Installing RDoc documentation for win32-process-0.5.9… Installing RDoc documentation for windows-pr-0.9.4… Installing RDoc documentation for windows-api-0.2.4… Installing RDoc documentation for win32-api-1.2.0-x86-mswin32-60… Installing RDoc documentation for win32-api-1.2.0-x86-mswin32-60… Installing RDoc documentation for activesupport-2.1.1… Таким образом, если вы подключены через прокси, то перед установкой будет нужно добросовестно установить поистине переменную окружения http_proxy Просто-таки в последующем облике: http://user:password@host:port Для установки переменной окружения подберите “Мой комп” -> “Свойства” -> “Дополнительно” личных пристрастий среды”-> “Создать”.

После установки запустите интерактивную консоль Ruby irb и недостаточно наберите:

irb(main):001:0> require ‘watir’ => true irb(main):002:0> Если при загрузке модуля watir Шумно не появилось погрешностей, означает установка прошла удачно. Пример

Следующий образчик показывает базисные основы работы с библиотекой Watir. Так вот, сохраните данный код в файлике и запустите его на исполнение. Кстати, со стороны станет одновременно казаться, что браузер правильно делает все сам: загружает странички, наполняет формы, давит на клавиши и т.п. Пожалуй, для удобства, по-своему энергичный составляющее подсвечивается весьма желтоватым расцветкой.

# # simple_example.rb # # Александр Симаков, # http://alexander-simakov.blogspot.com/ # # Подключаем библиотеку Watir require ‘watir’ # Открываем свежее окошко IE ie = Watir::IE.new # Переходим на страничку Google ie.goto “http://www.google.ru/” # Вероятно, заполняем запрос в поисковикеie.text_field(:name, “q”).set “Watir home page” # Нажимаем на клавишу “Мне повезет!” ie.button(:name, “btnI”).click # Проверяем, есть ли на страничке добросовестно отмеченный текстif ie.text.include? “Web App Testing in Ruby” puts “Yes!” end Итак, отлично давайте тщательно разберемся как окончательно трудится данная программа. Говорят, в начале мы хладнокровно раскрываем свежее окошко Internet Explorer. В конце концов, отмечу, что Watir и еще дозволяет подключаться и к теснее открытым окошкам. В общем по-особенному нужное окошко при всем при этом можнож добросовестно сыскать или по гиперссылке, коя добросовестно указана столь в адресной строчке, или по заголовку окошка.

Далее мы переходим на web-сайт Google. Наверно, на крупнейшей страничке имется поле для ввода запроса и 2 клавиши. Watir дозволяет отыскивать составляющие находящиеся на страничке по почти всем характеристикам: по атрибутам id , name , class , по заголовку, по гиперссылке, Просто-напросто по порядковому номеру, по выражению xpath и т.п. К счастью, в зависимости от вида составляющего к коему вы тщетно пытаетесь хмуро обратиться данный перечень крайне имеет возможность немного выделяться. В самом деле так в строчке 18 листинга мы внезапно обращаемся к текстовому полю у которого атрибут name крайне имеет значение q . Видимо если таковой составляющая умышленно присутствует, то Watir возвратит объект класса TextField . Действительно в данном классе просто-таки явен способ set , который наполняет текстовое поле: мы официально желаем добросовестно сыскать столь хозяйственную страничку Watir.

Теперь нажмем на клавишу “Мне повезет!”. По-видимому в различие от весьма обыденного поиска мы автоматом постепенно перейдем по лично релевантной гиперссылке. Более того поскольку наш запрос довольно точен мы с чрезвычайно высочайшей частей вероятности окончательно попадем попросту на бытовую страничку плана Watir.

Отмечу, что библиотека Watir разрешает не столько выискать объекты воистину по разным аспектам и манипулировать ними, да и постоянно подвергать анализу итог. С другой стороны так в строчке 24 листинга мы сильно проверяем крайне имеет ли страничка на которую мы перешли строчку “Web App Testing in Ruby”. Короче говоря, эту вероятность применяют для написания модульных исследований.

Неоценимую поддержка в написании тестовых сценариев делает IE Developer Toolbar - специализированная отладочная панель для Internet Explorer. Напротив с ее поддержкою возможно без усилий просмотреть атрибуты всякого составляющей на страничке:

Скачать IE Developer Toolbar возможно отсель (~ 700 Kb). Оказалось, что в качестве кандидатуры можнож кроме того испробовать иную панель - DebugBar .

Если при написании тестового сценария вы вошли в тупик, к примеру, Крайне не имеет возможности добросовестно сыскать составляющая, генеримый механически посредством JavaScript, добросовестно пробуйте irb - по-человечески интерактивную консоль Ruby. Ну что ж это слишком непременный и многоцелевой инструмент Ruby-разработчика на все случаи жизни. А теперь хладнокровно продемонстрируем методологию применения irb Просто-напросто на несложном образце:

irb(main):001:0> require ‘watir’ => true irb(main):002:0> ie = Watir::IE.new => # ie.goto “http://www.google.ru/” => 1.015 irb(main):004:0> ie.show_all_objects ———–Objects in page ————-… hidden name=hl id= value=ru alt= src= text name=q id= value= alt= src= submit name=btnG id= value=Поиск в Google alt= src= submit name=btnI id= value=Мне повезёт! alt= src= radio name=lr id=all value= alt= src= radio name=lr id=il value=lang_ru alt= src= hidden name=aq id= value=f alt= src= hidden name=oq id= value= alt= src= … => nil irb(main):005:0> ie.button(:name, “btnG”).flash => nil irb(main):006:0> В данном образце мы загрузили библиотеку Watir, хладнокровно открыли свежее окошко, перешли на вебсайт Google и мысленно попросили вывести все легкодоступные на этой страничке объекты. Естественно, в данном перечне есть 2 клавиши: btnG и btnI . Стало быть поистине последняя команда принуждает клавишу “Поиск в Google” стремительно сиять более-менее желтоватым расцветкой пару месяцев. В сущности этот прием комфортно применять для поиска частей. Что далее

В данной заметке мы познакомились с библиотекой Watir. И все же это довольно очень сильный и ненамного эластичный инструмент при помощи которого возможно заавтоматизировать испытание всякого web-приложения. Несомненно за время существования плана около него окончательно сформировалось впечатляющее объединение юзеров. Следовательно на WiKi-портале общества можнож самостоятельно обнаружить заметки, обзоры, учебники, FAQ, спецификации и иную вполне нужную информацию по Watir. И действительно заходите и учитесь!

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены