Skip to Content

Windmill. He Selenium'ом единым...

Бесспорно, в настоящее время, Selenium ‑ наиболее популярный бесплатный инструмент для автоматизированного тестирования веб приложений. Он интенсивно развивается и обрастает новыми возможностями, но не все так гладко: проблемы с кросс доменным тестированием решены не до конца, IDE существует лишь для Firefox и т.д. Во многом спасает обширное сообщество и неплохая документация ‑ на просторах сети вы сможете найти ответы на большую часть своих вопросов.
Но неужели не хочется чего-то более простого и элегантного? Инструмента, который действительно облегчит вашу жизнь, а не заменит одни проблемы другими. Естественно хочется. И такой инструмент есть. Знакомьтесь, Windmill.
 
Windmill – фреймворк для автоматизированного тестирования веб приложений. Появился он, как «побочный продукт» разработки сервиса Chandler Server Web UI (Cosmo) (сервис представляет собой «электронный органайзер» для управления задачами и событиями ‑ PIM). Сервис не получил ожидаемой популярности из-за затянувшегося процесса разработки (проект стартовал в 2001 году, когда ниша была еще пуста, а первый релиз состоялся лишь в 2008 году, когда конкурентов стало хоть пруд пруди). Но, несмотря на то, что разработка длилась несколько лет, новые версии продукта появлялись с завидной частотой. Изначально, участвовавшие в процессе разработки тестировщики, пытались использовать Selenium для автоматизации тестов. Но поскольку, интерфейс сервиса был перегружен JS и AJAX, а новые версии появлялись слишком часто, то ничего хорошего из этого не вышло. В результате, было принято решение разработать свой собственный инструмент, который позволял бы разрабатывать автотесты с минимальными затратами времени и сил. Так и началась история фреймворка под названием Windmill.
Ближе к окончанию проекта стало ясно, что фреймворк получился чертовски удачным и сможет успешно конкурировать с существующими ныне инструментами для автоматизации. Поэтому в сентябре 2008 года увидела мир первая стабильная версия продукта ‑ Windmill 0.8.2. Сейчас проект интенсивно развивается и обещает стать весьма популярным среди разработчиков и специалистов по обеспечению качества ПО.
Немного подробнее о том, кто и зачем разрабатывает Windmill, можно узнать в блоге Адама Кристиана (Adam Christian) – одного из разработчиков фреймворка. В первую очередь рекомендую ознакомиться со статьей Bringing Windmill to Life.
 
На этом покончим с историей и перейдем к более насущным вещам – рассмотрению возможностей Windmill.
 
Когда я впервые увидел Windmill, точнее даже не увидел, а только прочитал о его возможностях, то мне незамедлительно вспомнился небезызвестный Эрик Картман с его знаметым возгласом: «Шикаааааррно!». А когда мне удалось записать и запустить свой первый тест, то моему восторгу вообще не было предела. Однозначно, сей продукт, сделан на совесть. Людьми и для людей.
 
Но оставим эмоции в стороне и попробуем взглянуть более пристально на этот фреймворк.
 
Windmill написан на Python и JavaScript. Подробностей о его устройстве не так много. Кое-что можно почерпнуть из парочки презентаций находящихся на официальном сайте. Единственное, что можно сказать наверняка – это то, что общий принцип работы очень схож с Selenium RC, т.е. Windmill тоже представляет собой прокси-сервер, который взаимодействует с тестируемым приложением посредством JS функций.
 
А теперь более подробно о возможностях Windmill.
 
Кроссплатформенность.
На данный момент заявлена поддержка Windows, Mac OS X и Linux.
Конечно же, кросплатформенностью могут похвастаться многие инструменты для автоматизации, но учитывая то, что мне доводилось видеть Django запущенный на Windows Mobile, использование Python вселяет большие надежды.
  
Поддержка всех основных браузеров, как для воспроизведения, так и для записи тестов.
На данный момент это IE, Firefox, Safari, Chrome и Opera. При этом во всех этих браузерах вы можете использовать полноценную IDE. Вам больше не понадобятся Eclipse или Visual Studio, т.к. тесты для любого браузера можно написать прямо в Windmill IDE.
 
Стоит отметить, что ситуация с Opera не очень ясна. Просматривая документацию, можно заметить, что кое-где браузер находится в списке поддерживаемых, а кое-где нет. Но все же, запустить Windmill с оперой мне удалось. 
 
Поддержка защищенных SSL соединений.
 
Возможность кросс доменного тестирования «из коробки».
 
Поддерживаемые языки для написания тестов – Python, JavaScript, Ruby.
 
Встроенные инструменты для отладки – Firebug и Firebug Lite.
Видели когда-нибудь Firebug в IE? Нет? Смотрите Smile
 
 
Поддержка большого количества команд для взаимодействия с приложением.
Набор команд практически полностью соответствует Selenium.
 
 
Интегрированный XPath Explorer.
 
  
Интегрированный Assertion Explorer.
 
 
Генерация отчетов о результатах прохождения тестов и о производительности приложения (указывается время выполнения различных команд, время загрузки страниц и т.п.).
 
Наличие виджета, упрощающего работу с фреймворком.
Виджет позволяет запускать IDE и тесты, а также дублирует командную строку из которой можно управлять Windmill сервером.
 
 

Работать с Windmill очень просто. Убедится в этом, вы можете, посмотрев видео представленное ниже.

Это же видео в более высоком качестве можно увидеть на официальном сайте (Осторожно, трафик! Размер ролика ‑ 128 Мб).
 
В ближайшем будущем, я постараюсь написать небольшую инструкцию о том, как установить Windmill и как создавать автотесты с его помощью.
 
Более подробно познакомится с Windmill вы можете на официальном сайте Windmill Testing Framework. Там же вы найдете последнюю версию фреймворка, а также, пока не очень обширную, документацию к нему.
 
Подводя итоги, скажу, что, на мой взгляд, Windmill имеет хорошие перспективы стать популярным инструментом для автоматизации. Надеюсь, что проект не останется лишь перспективным начинанием, а будет интенсивно развиваться. Ну а частота коммитов в SVN делает эти надежды небезосновательными.
 

 

++++++++--

Не пойму, как запускать

Не пойму, как запускать windmill  с любым другим браузером, кроме FF? пробовал Оперу, IE, Chrome - максимум, что получалось, это запускался браузер с урлом 
http://iqa.com.ua/windmill-serv/start.html и текстом 

Страница не найдена

Запрашиваемая страница не найдена
 
а при попытке ввести в командную строку windmill opera http://iqa.com.ua вообще выдает
opera is not a windmill argument. Sticking in functest registry.
Server running...
 
 
 

А что именно у вас не

А что именно у вас не получается?

Во-первых, отключите во всех браузерах блокировку всплывающих окон, хотя бы для урлов с вашими тестовыми сайтами.

Во-вторых, если получаете что-то вроде "Страница не найдена", проверьте настройки прокси в браузере, возможно он по какой-то причине не прописался при старте. Прокси должен быть вот такой 127.0.0.1:4444 

В третьих, вариантов запуска Windmill'а очень много. Попробуйте следующее:

1ый вариант

windmill firefox http://iqa.com.ua

windmill ie http://iqa.com.ua

windmill safari http://iqa.com.ua

windmill chrome http://iqa.com.ua

 

2ой вариант

windmill shell http://iqa.com.ua

>> start_firefox()

>> start_ie()

>> start_safari()

>> start_chrome()

 

3ий вариант. Для "непокорных" браузеров, вроде Opera и прочих.

windmill run_service

Открываем браузер вручную. Прописываем ему прокси 127.0.0.1:4444

Переходим на страницу http://<тестовый сервер>/windmill-serv/start.html, например, http://iqa.com.ua/windmill-serv/start.html 

 

Пробуйте, обязательно получится Wink

Здравствуйте! Помогите

Здравствуйте! Помогите разобраться, пожалуйста! установить программу установила, теперь же хочу ее запустить уже на конкретном браузере, для этого ввожу в командной строке как это показано в примере
windmill firefox http://www.google.com
 

выдает ошибку: SyntaxError: invalid syntax

Не пойму что не так, Питон у меня 2.5, в Path прописано C:\Python25\Scripts\

 

...установить программу

...установить программу установила...

Что конкретно делали при установке? 

выдает ошибку: SyntaxError: invalid syntax

Полный стек трейс в студию.

SyntaxError: invalid

SyntaxError: invalid syntax

windmill firefox http://www.google.com

File "console", line 1

Устанавливала по всем пунктам прописаным на https://github.com/windmill/windmill/wiki/installing для Windows. Установка прошла без заминок абсолютно. А запустить не получаеться.
 

Попробуйте запустить, также

Попробуйте запустить, также как вы и запускали до этого, потом сделайте скриншот консоли и прикрепите сюда.

Здравствуйте! и снолва таже

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

Вчера впервый раз запустила

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

Запуск кого, чего, куда?

Запуск кого, чего, куда? Здесь описана установка http://iqa.com.ua/articles/automotion/windmill_few_words_about_installation , здесь запись и запуск тестов http://iqa.com.ua/articles/automotion/windmill_create_first_test .Инструкции, по-моему, пошаговее некуда. Плюс почитайте комментарии к этим постам, там много различных проблем уже решено. Будут конкретные вопросы - обращайтесь.

Обращаюсь! конкретная моя

Обращаюсь! конкретная моя проблема как начинающего пользователя... как мне запустить саму програму Windmill...откуда начинать заходить - с Cygwin или СDM или обычного фар менеджера?и сразу же вписывать  windmill firefox http://www.google.com в командную строку к примеру или еще что-то этому передует?

Вопрос! почему при попытке

Вопрос! почему при попытке запуска програмы, выбрав FF, IE и т.д. мне потом блокирует все эти браузеры, не подключает к и-нету, пишет что продблемы с прокси-сервером, и лишь изменив настройки браузеров мне удаеться запустить их...в чем может быть проблема?

Проблема в том, что все

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

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

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • Pairs of<blockquote> tags will be styled as a block that indicates a quotation.
  • Textual smileys will be replaced with graphical ones.

Подробнее о форматировании