t.me/atinfo_chat Telegram группа по автоматизации тестирования

Общее описание Canoo Webtest


(Mykhailo Poliarush) #1

Что это такое?

Canoo webtest - "легкий" инструмент автоматизации, созданый исключительно для тестирования веб приложений и веб сайтов. Под словом "легкий" подразумеваеться несколько понятий - это и размер инструмента, занимающий 25 мб на диске, доступность в обучении, а также высокая скорость выполнения скриптов.
Скрипты представляют из себя XML файлы, имеющие определенный набот шагов - функций. Функции как правило простые и понятные, сложные алгоритмы не предусмотрены. Но это вовсе не значит, что продвинутым автоматизаторам будет скучно, т.к.  для написания скриптов любой сложности предусмотрена возможность использования языка Groovy.

Canoo Webtest подойдет даже тем, кто никогда ранее не занимался автоматизацией. Чтобы написать первый рабочий тест вам реально понадобиться время порядка 10 минут.

Как выглядит скрипт?

Вот пример теста, который проверяет вход на сайт automate-testing.info. Тест ожидает, что если ввести пользователя MyUser с паролем MyPassword, сайт должен вывести ошибку с текстом "Извините, это имя пользователя или пароль неверны"

{syntaxhighlighter brush: xml;fontsize: 100; first-line: 1; }<invoke url="http://automated-testing.info/"/> <setInputField name="name" value="MyUser"/> <setInputField description="Set password field pass: MyPassword" name="pass" value="MyPassword"/> <clickButton label="Вход в систему"/> <verifyText description="Verify that text is contained in the page" text="Извините, это имя пользователя или пароль неверны"/>{/syntaxhighlighter}

Как написать скрипт?

Для ознакомления и начала работы лучше всего подходит плагин записи тестов для firefox. Скачать его можно тут.

Как выглядит отчет?

Итструмент генерирует читабельный отчет в фотмате HTML, например. такой:

пример отчета

Для чего Webtest подходит лучше всего?

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

Какие плюсы имеет этот инструмент в сравнении с другими?

  • Позволяет получить рабочие тесты за очень короткое время
  • Скрипты легко читаемы и доступны для понимания даже новичку
  • Скрипты выполняються быстро, т.к. Webtest напрямую общается с тестируемым веб приложением, минуя браузеры

 

Какие минусы?

  • При использовании XML скриптов нельзя сделать сложные тесты с циклами, ветвлениями и т.п. (для этого надо использовать связку Groovy-Webtest)
  • Не поддерживаются приложения или страницы на flash
  • Если ваше приложение содержит сложные javascript вставки, то как минимум часть функционала вы не сможете покрыть