Установка требуемого ПО для участия в automated-testing-dojo


(vito4ka) #1

Ответ на вопрос "Готов ли я участвовать в Automated testing dojo?" дает следующий тест:

Given installation manual below
When I run sample tests from the template
Then I see green line

Как только этот тест PASSED, то можно присоединяться к участникам соревнования, имея большие шансы набрать наибольшее количество баллов ;). Если тест FAILED, то всегда есть у кого попросить помощи (обращайтесь к тренерам или пишите сюда) .

 

Руководство по установке

Для того, чтобы настроить проект потребуется средство сборки и управления зависимостями Maven. Скачать можно отсюда. Инструкция по установке здесь.
Проверить правильность установки мавена можно запустив из командной строки команду mvn -version. В случае успешной установки на консоль выведется версия Maven и Java.

Скачиваем шаблон проекта. Качать здесь. Распаковываем в папку на диске. В моем случае это c:\workspace\projects\template-java.
Ниже инструкции настройки проекта для Инструкция для IDE IntelliJ IDEA и Инструкция для Eclipse. Немного проще настраивать в IntelliJ IDEA, т.к. там встроена хорошая поддержка Maven проектов.

 

Инструкция для IDE IntelliJ IDEA

Инструкция для IntellJ IDEA 11 Community Edition, скачать которую можно здесь.
После запуска IDE выбираем File->New Project... или выбираем значок Create New Project из панели Quick Start:

Выбираем Import Project from external model и жмем Next. Обратите внимание, что если у вас версия IDEA ниже 11, то пункт "Import project from external module" будет последним в списке.

Проект Maven, Next

Указываем путь к папке, в которую распаковали шаблон проекте (в моем случае это c:\workspace\projects\template-java), нажимаем Next

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

Название проекта и расположение оставляем как есть и жмем Finish

Немного подождем, пока загрузятся нужные библиотеки и посмотрим на структуру проекта.

Как видим, в проекте один тестовый класс, в котором будем кодить наши автоматизированые сценарии.

Попробуем скомпилировать и запустить тест. Запустить можно по правой кнопки мыши и выбрать Run "SampleAutomationTest" или сочетанием клавиш <ctrl>+<shift>+F10.

Вы получили ответ на вопрос "Готов ли я участвовать в Automated testing dojo?". Если тест зеленый, то переходим к регистрации.

 

Инструкция для Eclipse

Инструкция для Eclipse IDE for Java developers. Скачать можно здесь. Выбрана именно эта конфигурация Eclipse потому что она интегрирована с Maven.

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

После запуска IDE выбираем File->Import... и в появившемся окне выбираем Maven->Existing Maven Projects и жмем Next

Затем выбираем папку, в которой находится шаблон проекта. В моем случае это c:\workspace\projects\template-java. Нажимаем Finish

Немного подождем, пока скачаются все зависимости, после чего смотрим на структуру проекта:

Как видим, в проекте один тестовый класс, в котором будем кодить наши автоматизированые сценарии.

Запустим тест. Правой кнопкой мыши Run As->JUnit Test из окна с исходным текстом или в окошке Outline. 

 

 Вы получили ответ на вопрос "Готов ли я участвовать в Automated testing dojo?". Если тест зеленый, то переходим к регистрации

Регистрация и логи

Прежде чем зарегистрироваться, нужно указать в тесте адрес сервера в анотации @ReportTo. Заменим http://127.0.0.1:8080 на реальный адрес приложения, которое будем автоматизировать. После чего укажем имя, под которым на сервер будут отсылаться отчеты о успешности выполнения теста. Заменим JohnDoe на свое уникальное имя.
Важно - имя должно быть написано латинскими буквами без пробелов и спец символов.
Важно2 - Регистр имеет значение. Так JohnDoe и johndoe - это 2 разных пользователя

Открываем браузер и вводим такой URL: http://<server address>/register. Где <server address> - это IP адрес сервера. В тест боксе Player name вводим имя игрока

 

Если вы ввели уникальное имя, то выведется страничка с результатами запуска тестовых сценариев

Где в столбце

  • Scenario - номер сценария
  • Score - количество очков, полученные за результат выполнения (или бездействия) автоматизированного тестового сценария
  • Test result - прошел тест или нет (true/false)
  • Description - краткое описание за что начислили (или отобрали) баллы
  • Log type - То как система распознала отчет автоматизированного теста

Переключимся в IDE и запустим тестовый сценарий. После чего в логах должна появиться вот такая запись:

 Теперь можно автоматизировать сценарии, описание которых можно увидеть, если перейти по линку на страничке логов или ввести URL http://<server address>/scenarios

Также можно посмотреть видео мануал:


(devnull) #2

Что то я не понял :(

 

"Прежде чем зарегистрироваться, нужно указать в тесте адрес сервера в анотации @ReportTo. Заменим http://127.0.0.1:8080 на реальный адрес приложения, которое будем автоматизировать. После чего укажем имя, под которым на сервер будут отсылаться отчеты о успешности выполнения теста. Заменим JohnDoe на свое уникальное имя." - т.е. мне надо в тестовом классе указать IP реального сайта, который будет автоматизирован?

 


"Открываем браузер и вводим такой URL: http://<server address>/register. Где <server address> - это IP адрес сервера." - если это реальное приложение (которое смотрит в иНет), то */register может и не быть :(
 
 
Подскажите где надо регистрироваться на это соревнование

(Taras) #3

А можете чуток написать о примерах заданий или как проводиться конкурс сам етот будет, а то опита в таких соревнованиях нету. Спасибо


(seregaz) #4

 

Спасибо за вопрос. 

Регистрироваться на соревнование нужно будет уже непосредственно на dojo. Будет запущен сервер с реальным IP адресом, который будет собирать статистику. Этот адрес и нужно будет прописать в аннотации. На этом сервере будет доступен линк на регистрацию (*/register), в котором нужно будет ввести имя игрока.

Подготовительный этап настройки среды не требует сервера. Достаточно настроить IDE и запустить тесты, которые находятся в шаблоне проекта (ссылка на зип архивчик в доке). Просто по опыту настройка может занять некоторое время, а на dojo тратить время на настройку, в то время, пока соперники автоматизируют приложение не самое веселое занятие ;)


(vito4ka) #5

Регистрация на данное мероприятие здесь - https://docs.google.com/spreadsheet/viewform?formkey=dHhpejlRU09FWjRTa0pSZURXMFRVN2c6MA#gid=0

но предварительно нужно выполнить все, что описано выше, те установить необходимое ПО для участия в automated-testing-dojo и получить "зеленый свет" - PASSED.

Если у Вас есть еще вопросы, с радостью ответим:)

 


(devnull) #6

А сколько стоит участие, дедлайн оплаты и когда начало?


(vito4ka) #7

Вот здесь подробное описание воркшопа,http://automated-testing.info/trainings/automated-testing-dojo/announcement.

Дата проведения - 18 апреля в 17-00. Стоимость:  200 грн при оплате до 09.04.2012, 300 грн при оплате до 16.04.2012, 400 грн при оплате после 16.04.2012

Форма регистрации на данный воркшоп https://docs.google.com/spreadsheet/viewform?formkey=dHhpejlRU09FWjRTa0pSZURXMFRVN2c6MA#gid=0


(vito4ka) #8

Тарас, спасибо за интерес к нашему воркшопу.

В ближайшем будущем мы планируем выложить  статью от наших тренеров с детальным описанием этого нового формата.


(devnull) #9

Эх :( как я понимаю необходимо личное присудствие на мероприятии :( т.к. я в РБ, то поучавствовать у меня не получится. Подскажите есть ли планы по проведению подобные соревнований онлайн  ... без физического присудствия:) ?


(vito4ka) #10

да, предполагается личное присутствие. В дальнейшем планируем развивать это направление, в том числе в режиме онлайн. Следите за анонсами


(vito4ka) #11

Не хотелось бы озвучивать детали мероприятия преждевременно, чтобы сохранить интригу. Но кое-что про automated testing dojo мы все же расскажем, чтобы у вас не было чувства, что имеете дело с “котом в мешке”.

Итак, у нас есть веб приложение - это магазин по покупке товаров. Разработчики ценят agile методологии, а потому выкатывают свои релизы частями, приблизительно раз в час. С каждым новым релизом функциональность магазина расширяется.

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

Баги везде! Баги хитрые! Они то появляются, то исчезают. А вместе с новой функциональностью, появляются еще и новые баги. Ваша задача - их ловить! Ловить! Ловить!

Почему мы придумали именно такой формат? Все просто - это максимально близко к тому, что происходит в реальной жизни. С той лишь единственной разницей, что мы превратили это в игру - ведем подсчет бонусов за найденные баги, а также за недостаточно хороший результат вас никто не поругает.

Подробнее, как это делается.

Вот вы видите скрин. Там багов еще нет. Можно покликать, посмотреть, как работает. Можно почитать user stories. Это разогрев. Прямо сейчас можно начинать автоматизцию.

Но все хорошее быстро заканчивается. Вот, случайно, появляется первая бага. Но вы не знаете, что она появилась. Ваши тесты могут ее отловить, и тогда вы получите бонусные очки. Но если этого не случится, вам начислятся штрафные очки. Не беда. Эта бага может еще прояить себя в будущем, а поэтому свой бонус вы получите. И только, если при выходе нового релиза вы не нашли багу вообще, вам опять же будут начислены штрафные очки. Шрафы! Шрафы!! А где же плюшки? А плюшки будут, если ваши тесты будут отлавливать баги. Поймали? +1! Поймали еще раз? +1!

Применяйте все известные вам best practices, которые удалось собрать за вашу продолжительную кареру. Все, что может помочь - все пригодится. Но кто знает, может какие-то “best practices” будут тянуть вас на дно? В automated testing dojo время ставится во главу угла. Его тут жутко не хватает! Минуты на dojo решают все.

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


(Sergey Korol) #12

Не хочу показаться занудным, но в гайдике полезно было бы еще рассказать об установке Java и настройке enviroment variables. Плюс ко всему, создание первого проекта будет сопровождаться просьбой указать путь к той самой Java. Просто без этой информации гайд выглядит как-то неполно что-ли. :)