WATIR

WATIR

WATIR (англ. Web Application Testing in Ruby) — бесплатная библиотека для интерпретатора Ruby с открытым кодом, позволяющая тестировать веб-приложения. Библиотека WATIR понимает структуру веб-страниц и позволяет получить доступ к ее элементам. Библиотека WATIR используется для написания сценариев тестирования веб-страниц. С помощью набора таких сценариев можно автоматизировать процесс тестирования веб-приложений.

Watir доступен через менеджер пакетов Ruby Gem. Создатели Watir — Бретт Петтичрд (Bret Pettichord) и Паул Роджерс (Paul Rogers).

Содержание

Функциональность

Ruby поддерживает OLE, что дает возможность автоматизации работы браузера Microsoft Internet Explorer. В отличие от инструментов тестирования, основанных на протоколе HTTP, которые симулируют запросы браузера, Watir симулирует работу пользователя с браузером с помощью протокола OLE, который создан на основе архитектуры COM.

COM допускает межпроцессные взаимодействия (например, между Ruby и IE) и динамическое создание и манипулирование объектами. Microsoft называет это автоматизацией OLE, а манипулирующие программы — контроллерами автоматизации. Технически, процесс IE — это сервер, который управляет объектами автоматизации, а программа Ruby становится клиентом, который манипулирует этими объектами.

Инсталляция

Watir зависит от Ruby, поэтому должны быть установлены оба. Ruby доступен на странице RubyForge 1 Click Installer. Текущая стабильная версия — 1.8.6-26 stable. Ruby также может быть загружен с сайта RubyForge. Текущая стандартная версия — 1.6.2. Эта версия предпочтительна, если не требуется обработка всплывающих окон системы безопасности или модальных диалоговых окон. Работы по разработке Watir на Rubyforge остановились после релиза 1.4.1 в августе 2005 г. Теперь они ведутся на OpenQA.org. После релиза Watir версии 1.5, разработки должны переместиться на WTR at RubyForge.

Для установки текущей версии Ruby Gem версии 1.5, посетите OpenQA Development Builds и загрузите инструмент gem. Вначале необходимо установить Ruby. Просто запустите самораспаковывающийся архив ruby184-20.exe. Этот файл установит Ruby и RubyGems, а также документацию на них в директорию C:\ruby. RubyGems — это библиотеки для Ruby. Введите 'gem list' в командном окне чтобы просмотреть все установленные библиотеки.

Затем необходимо установить Watir. 1. Откройте командное окно 2. Перейдите в директорию, в которую был установлен gem (предположительно C:\ruby)(в большинстве случаев вы будете уже в этой директории) 3. Напечатайте «gem install watir»

Вы должны увидеть что-то похожее на это:

C:\ruby>gem install watir
Successfully installed watir, version 1.5.1.1100
Installing ri documentation for watir-1.5.1.1100...
Installing RDoc documentation for watir-1.5.1.1100...

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

-p http://your-proxy-server-name:your-proxy-server-port

Например, если ваш прокси-сервер называется proxy, и его порт 8000, добавочный текст в командной строке будет

-p http://proxy:8000

Чтобы деинсталлировать Watir, необходимо использовать деинсталлятор gem. Чтобы проверить факт установки Watir, наберите в командной строке 'gem list' для просмотра установленных библиотек. В списке вы должны увидеть такие строчки:

watir (1.5.1.1100)
Automated testing tool for web applications.

Примеры

Поиск на Google

# Здесь приводится небольшой скрипт для проверки результата поиска на Google
 require 'watir'                          # используем библиотеку Watir
 test_site = 'http://www.google.com'      # инициализируем переменную
 ie = Watir::IE.new                       # открываем браузер Internet Explorer
 ie.goto(test_site)                       # открываем сайт
 ie.text_field(:name, "q").set("pickaxe") # в текстовое поле с именем "q" помещаем слово "pickaxe"
 ie.button(:name, "btnG").click           # нажимает на кнопку с именем "btnG"
 
 if ie.text.include?("Programming Ruby")  
   puts "Test Passed. Found the test string: 'Programming Ruby'."
 else
   puts "Test Failed! Could not find: 'Programming Ruby'" 
 end

Предыдущие команды могут выполнить в интерактивной среде irb (Interactive Ruby Shell).

Обработка всплывающих окон

require 'watir'
require 'watir/dialog'
 
link = 'http://www.w3schools.com/js/tryit_view.asp?filename=tryjs_alert'
 
ie = Watir::IE.start(link)
 
# нажимаем на кнопку, не блокируя работу Watir
ie.button(:value, 'Display alert box').click_no_wait   
 
dialog = Watir::Dialog.new
 
# даем время на появление окна
sleep 0.4
 
# нажимает на кнопку 'OK' на диалоговом окне, закрываем окно
dialog.button('OK').click  
 
# Ждем пока диалоговое окно выполнит работу
# и IE продолжит свою работу
ie.waitForIE

Просмотр объектов

Для получения информации о различных объектах, находящихся на страницах, можно использовать следующее:

# Информация о различных элементах на странице
puts ie.frame("top_frame").text_fields.map(&:to_s)
puts ie.frame("top_frame").spans.map(&:to_s)
puts ie.frame("top_frame").tables.map(&:to_s)
puts ie.frame("top_frame").links.map(&:to_s)
puts ie.frame("top_frame").select_lists.map(&:to_s)
puts ie.frame("top_frame").labels.map(&:to_s)

Предыдущий пример также показывает способ доступа к содержимому фрейма. Если фреймы не используются, удалите часть «.frame("top_frame")» из команд.

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "WATIR" в других словарях:

  • Watir — Infobox Software name = Watir caption = developer = latest release version = 1.5 latest release date = September 28, 2007 latest preview version = latest preview date = operating system = platform = genre = Web Application Testing in Ruby license …   Wikipedia

  • watir — watier, watir obs. forms of water …   Useful english dictionary

  • WET Web Tester — [ [http://wet.qantom.org Commercial Grade Web Automation Testing offering an Opensource alternative to Quicktest and Silktest ] ] is a web testing tool that drives an IE Browser directly and so the automated testing done is equivalent to how a… …   Wikipedia

  • Acceptance testing — of an aircraft catapult In engineering and its various …   Wikipedia

  • Ruby (programming language) — ] . IronRuby [cite web url = http://rubyforge.org/pipermail/ironruby core/2008 May/001909.html title = IronRuby / Rails Question author = John Lam date=2008 05 25 accessdate = 2008 05 25] [cite web url = http://www.iunknown.com/2008/05/ironruby… …   Wikipedia

  • Test automation — Compare with Manual testing. Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting… …   Wikipedia

  • Kharb — is a gotra of Jats. They are found in Haryana, Uttar Pradesh and Delhi in India. There are eight villages Dheram Kheri, Ugalan, Bhaklana, Badchapper, Khera, Mohla etc. in district Hisar in Haryana. There are five villages in Panipat district… …   Wikipedia

  • Web application development — is the process and practice of developing web applications Fact|date=February 2007.RiskJust as with a traditional desktop application, web applications have varying levels of risk. A personal home page is much less risky than, for example, a… …   Wikipedia

  • XRuby — Infobox Software name = XRuby caption = developer = latest release version = 0.3.3 latest release date = release date|2008|03|24 latest preview version = latest preview date = operating system = Cross platform platform = Java Virtual Machine… …   Wikipedia

  • Abkürzungen/Luftfahrt/S–Z — Dies ist der fünfte Teil der Liste Abkürzungen/Luftfahrt. Liste der Abkürzungen Teil 1 A A Teil 2 B–D B; C; D Teil 3 E–K E; F; G; H; I; J; …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»