Skip to Content

Windmill. Пишем первый тест

В прошлый раз я рассказывал о том, как установить и запустить Windmill. И несмотря на то, что процесс установки нельзя назвать простым, те, кто установил фреймворк на свой ПК, сделали это не зря, поскольку слегка замороченная инсталляция с лихвой компенсируется легкостью, с которой можно записывать и выполнять тесты при помощи Windmill. Итак, сегодня попробуем записать свой первый Windmill-тест.
 
Для начала определимся, что будет делать наш тест. Пожалуй, не стоит выдумывать чего-либо сверх необычного, поэтому ограничимся лишь самыми основными функциями: open, click, type и assert. Чтобы увидеть все это в действии, выполним следующий незамысловатый сценарий:
  1. Откроем страницу http://iqa.com.ua
  2. Произведем поиск по сайту по ключевому слову «Windmill»
  3. В результатах поиска перейдем по ссылке Windmill. He Selenium'ом единым...
  4. Перейдем по ссылке из статьи, ведущей на официальный сайт фремворка http://getwindmill.com
  5. Проверим, что на главной странице оффсайта присутствует заголовок с текстом:
    Windmill is a web testing tool designed to let you painlessly automate and debug your web application. 
Ну что ж, план действий ясен. Теперь воплотим это все в жизнь.
  1. Открываем командную строку и вводим там следующую команду:

    windmill firefox http://iqa.com.ua

  2. Ждем несколько секунд пока загрузится Firefox и Windmill IDE и жмем кнопку Toggle Recorder

    После чего, немного ниже, должна появиться строка с названием сюиты и кнопками управления записью/воспроизведением теста


     

  3. Далее при помощи любых подручных средств, т.е. клавиатуры и мыши (или что там у вас еще), выполняем описанный ранее сценарий.

    С выполнением сценария проблем возникнуть не должно, за исключением шага №5, т.е. записи assert’a. Для того, чтобы его записать давим на кнопку Toggle Assert Explorer

    Затем просто кликаем мышью на элементе страницы для которого хотим записать assert (при этом, во время перемещения указателя мыши по странице, в окне Windmill IDE будет отображаться XPath и содержание элемента для которого будет создан assert после клика).

    После того как необходимый assert будет создан, запись автоматически прекратиться, а сам тест будет готов к употреблению.

    По окончанию записи, окно IDE будет выглядеть приблизительно так:


     

  4. Проверяем, что тест записан правильно, для чего нажимаем кнопку Play напротив имени сюиты или же кнопку Play All, находящуюся рядом с кнопкой Toggle Recorder

     
     

  5. Если тест успешно выполнился, жмем на кнопку Save

    Копируем содержимое всплывающего окна в любимый текстовый редактор и сохраняем все это счастье в файл с расширением .py, например test.py


     

  6. Все. Теперь у нас есть тест, который с легкостью можно выполнить практически в любом известном браузере. Хотя насчет «легкости» я немного лукавлю, т.к. тест, возможно, придется слегка доработать, например, заменив waits.forPageLoad на waits.forElement (впрочем, в большинстве случаев, Windmill сам правильно определяет, что и где он будет ожидать).
Для того, чтобы убедиться, что все сделано правильно и все «стреляет», запустим сохраненный тест, набрав в командной строке 
 
windmill firefox http://iqa.com.ua test=c:\windmill_tests\test.py 

Вуаля! Программа минимум по ознакомлению со средствами "painless automation" выполнена. Самые любопытные могут скачать тест, созданный при написании поста, и попробовать запустить его самостоятельно.

На сегодня все, но впереди еще много всего интересного о Windmill.

+++++-----

У меня при выполнении

У меня при выполнении следующей команды

windmill firefox http://iqa.com.ua

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

О каком прокси идет

О каком прокси идет речь?
Если о:

  1.  Прокси через который вы ходите в интернет, то, собственно, так и должно быть, он должен заменяться на прокси виндмилла.
  2.  Если о  прокси виндмилла, то я, если честно,в FF с таким не сталкивался. Сталкивался с подобным в Chrome и IE, там все лечится просто перезапуском. Что можно попробовать сделать (сразу говорю, это варианты из разряда "пальцем в небо"):

 

  • запустить FF из shell mode, например, так:
      windmill shell http://iqa.com.ua
      start_firefox()
  • попробовать запустить фаерфокс с другим ("чистым") профайлом. Как это сделать, можно узнать здесь http://trac.getwindmill.com/wiki/advanced 
  • погуглить на предмет такой же проблемы при использовании Selenium, т.к. механизм запуска FF у них очень похож.

 

 Добрый день, к сожалению у

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

windmill firefox http://iqa.com.ua

Я так понимаю это Win 7 или

Я так понимаю это Win 7 или Vista. Тогда такой вопрос - UAC включен? Если включен, то попробуйте запустить командную строку с правами администратора. 

И еще одно предположение. Если есть фаервол, то проверьте есть ли в нем правило разрешающее питону пользоваться сетью.

 

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

Да, это - win7, UAC выключен,

Да, это - win7, UAC выключен, фаервол тоже, результат тот же, попробую установить из под виртуальной машины ХР.

 Спасибо большое, выполняется

 Спасибо большое, выполняется отлично)

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

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны 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.

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