in Профессиональное

Cubic Test. Инструкция / Cubic test. Tutorial

Ниже представлен перевод базовой инструкции к CubicTest с официального сайта (http://boss.bekk.no/display/BOSS/CubicTest+-+Tutorial), так сказать проба пера. Если будут положительные отзывы – буду переводить еще.

Содержание

Итак, приступим:

Скачиваем CubicTest / Download CubicTest

Для начала скачайте CubicTest со страницы http://boss.bekk.no/cubictest/download.html. Для пользователей Eclipse 3.4 Ganymede рекомендуется обновление их локальной версии. Для тех пользователей, у которых нет минимально необходимых версий Eclipse 3.4 Ganymede или Java 5 рекомендуется “rich” клиент (по сути это пакет “все в одном” – скачал, распаковал, запустил и работай).

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

Запускаем CubicTest / Start CubicTest

Обновление локальной версии: Запустите Eclipse и откройте перспективу CubicTest:

Window -> Open Perspective -> Other… -> CubicTest

Rich клиент: Запустите CubicTest двойным кликом по файлу “eclipse.exe” в директории, в которую вы распаковали CubicTest.

Пишем первый тест на CubicTest / Writing your first CubicTest test

Создаем новый CubicTest проект / Create a New CubicTest Project

  • Правокликаем на “package explorer” (верхний левый фрейм) в Eclipse и выбираем:
  • New -> New CubicTest Project
  • Следуем инструкциям, которые появятся на экране

01

Будет создан пустой тест, который отобразится в окне редактора – с пустой начальной страницей/состоянием.

  • Тесты в CubicTest состоят из последовательностей страниц/состояний и переходов между ними.
  • Каждая страница/состояние могут иметь несколько элементов (page element), которые рассматриваются как ассерты (проверки), которые будут выполнены на странице. Примеры элементов страницы включают текст, ссылки, текстовые поля, кнопки и т.п. Также эти элементы могут быть задействованы пользователем (быть объектами действий пользователя).
  • Переходы с одной страницы на другую выполняет “тестовый пользователь”. Переход может состоять из нескольких пользовательских действий с элементами страницы. Все вместе, эти пользовательские действия, формируют последующий переход.

Примерами пользовательских действий могут служить: ввод текста в текстовое поле, клик по ссылке, “перевод мыши” на изображение (mouse over). Когда переход включает в себя много пользовательских действий (например, заполнение некоей формы), только последнее действие (например, клик по кнопке “отправить форму”) запускает переход на другую страницу (к другому состоянию).

Более подробную информацию можно получить в топике Essential Concepts in CubicTest (на английском) (http://boss.bekk.no/display/BOSS/Essential+Concepts+in+CubicTest)

Создаем элементы (ассерты) для начальной страницы / Create assertions for the initial page/state

Добавим теперь несколько элементов на первую страницу, которая по умолчанию была создана в нашем новом тесте. Элементы страницы находятся в специальной палитре на левой стороне графического редактора тестов:

02

Создаем элементы для взаимодействия с пользователем / Create a user interaction

После того как мы добавили на страницу несколько элементов, создадим переход по действию пользователя (User Interaction transition), который переведет нас с одной страницы, на другую:

  • Правокликнем на странице и выберем пункт меню “Add user interaction
    • Выберем элемент, на который будет действовать пользователь (в первой колонке, например link)
    • Затем выберем тип действия (во второй колонке, например Click)
    • Для элементов, которые поддерживают ввод текста, этот текст можно ввести в третьей колонке.

03

Вы можете создать несколько элементов ввода в тот же самый переход, если кликните на кнопку “Add new user input“. Затем нажмите ОК для того чтобы добавить переход. Новая страница, на которую мы осуществляем переход, будет создана автоматически. На ней вы можете добавлять элементы (например, Text) для проверки наличия некоторого результата пользовательского действия.

Запуск тестов / Run the test

Для того чтобы запустить тест в браузере:

  • Правокликните в области редактора тестов -> затем выберите Run As -> Run CubicTest with Selenium” (или сразу Run Test with Selenium Runner). Это действие откроет браузер и запустит тест. Тестовая модель в редакторе CubicTest будет окрашиваться в в соответствии с результатами выполнения теста.
  • Альтернативный способ: правокликните в области редактора тестов -> затем сразу выберите Run Test with Watir Runner. Это действие запустит тест в Internet Explorer с использованием Watir. Для того чтобы этот способ работал, на рабочей станции должны быть установлены Ruby и Watir (подробнее см. http://wtr.rubyforge.org/install.html).

04

Запись тестов / Recording tests

Хорошей альтернативой созданию теста вручную (как описано выше) является запись пользовательских действий на существующем web-приложении. Recorder для корректной работы требует наличия браузеров Firefox или Opera. Для того чтобы записать тест:

  • Правокликните в области редактора тестов и выберите пункт Record (или же правокликните на произвольной странице и выберите Record from this Page/State. В этом случае тест отработает до этой страницы и запись можно будет продолжить дальше уже с этой страницы).
  • Откроется Firefox/Opera и загрузит стартовый URL теста.
  • Для того чтобы записать ассерты для страницы, правокликните на ней в Firefox над некоторым элементом страницы (например над ссылкой) и выберите пункт Assert link present.
  • Для того чтобы записать ассерт на некий текст, его сначала нужно выделить, затем правокликнуть и выбрать пункт assert text present.
  • Для того чтобы записать действие пользователя, перемещайтесь по страницам как вы делаете это обычно. Все действия будут записаны и события типа Click будут запускать переходы на новую страницу. Текстовый ввод автоматически не инициирует переход на новую страницу (оно и понятно J ).

Вы можете наблюдать за процессом добавления элементов в тест, перейдя к окну CubicTest. Для того чтобы прекратить запись теста:

  • Правокликните в редакторе тестов и переключите режим Record в off.

Пользовательские тестовые шаги / Custom Test Steps

Пользовательские тестовые шаги (test steps) это способ создать тесты, которые вы не можете смоделировать при помощи графического редактора тестов CubicTest и палитры элементов. Пользовательские расширения позволяют вам создавать любой необходимый код, использовать любые библиотеки из classpath. Код может быть выполнен и отлажен с использованием стандартных механизмов Eclipse. Изначально пользовательские расширения CubicTest поддерживают Selenium RC. Поддержка остальных фреймворков (HTML export, Selenium export и Watir) ожидается в следующих версиях. Для того чтобы создать пользовательский тестовый шаг нужно:

  • Правокликнуть на папке в виде package explorer и выполнить New -> New CubicTest Custom Test Step
  • Выполнить шаги мастера, который отобразится. После этого откроется редактор пользовательского тестового шага.
  • Перетащить созданный файл в графический редактор тестов и шаг будет добавлен в тест.

Все установленные экспортеры (Selenium, Watir, HTML Prototype) могут предоставлять реализацию Custom Test Step, такую что тест и custom step могут работать с различными фреймворками. Для реализации пользовательского тестового шага для Selenium RC нужно:

  • Открыть пользовательский тестовый шаг или два раза кликнуть на него в графическом редакторе.
  • Кликнуть на ссылку Selenium RC для создания пользовательского тестового шага с использованием Selenium RC, указать имя шага.
  • После создания класса кликнуть на ссылку Selenium RC еще раз для создания ярлыка для открытого класса.
  • Реализовать необходимые методы в классе используя Selenium RC (в JavaDoc по Selenium RC обратите внимание на интерфейс ICustomTestStep для самостоятельного создания пользовательского тестового шага).

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

Run as -> Run CubicTest with Selenium

После этого запустится Firefox в качестве браузера по умолчанию. Для того чтобы изменить браузер по умолчанию – откройте run dialog в тулбаре.

Создание тестового набора и запуск тестов из командной строки / Creating a test suite and running tests from the command line

Когда вы создаете новый тест, создается JUnit тест с именем CustomTestSuite.java. Зная это, вы можете запустить тест, используя объект SeleniumRunner, который поставляется вместе с CubicTest’ом. По умолчанию запускаются все тесты из директории test. С момента появления фичи «Custom Test Suite» вы можете использовать любой Java код и любые библиотеки которые вам необходимы, например для вашей конкретной реализации методов setup/teardown. Объект SeleniumRunner может быть сконфигурирован таким же образом как и test runner, запущенный через GUI. Подробнее это описано в JavaDoc и методах-мутаторах (setters). Также доступна опция – оставлять ли браузер открытым между тестами или нет.

Для запуска Custom Test Suite правокликние на класс и выберите опцию Run As –> JUnit Test. Для запуска из командной строки:

  • Убедитесь что у вас установлен Maven 2 и как минимум Java 5 (с JRE)
  • Перейдите в директорию проекта CubicTest и наберите mvn test
  • После этого будет запущен браузер и начнется выполнение тестового набора.

Для пользователей, которым необходимо указывать, какие файлы запускать (и не добавлять их вместе с кодом), предусмотрен редактор тестового набора для выбора – какие тесты запускать. Правокликните на папке «test suites» и выберите опцию “New CubicTest Test Suite”. Чтобы добавить тесты, убедитесь что файл тестового набора .ats открыт и перетащите файлы тестов в редактор. Преимущество такого подхода в том, что переименование/перемещение тестов автоматически отражается в тестовом наборе.

Просмотр примеров / Viewing samples

Версия CubicTest с Rich Client’ом поставляется с примерами тестов. Для их просмотра выберите:

File -> Import… -> Existing Project into Workspace -> Select root directory: < CubicTest install dirsamplesCubicShopTest -> Press OK

Write a Comment

Comment

*

  1. Як це застосувати на практиці? Мені кажеться треба цю тему більше розвивати якщо вже почали! Сорі за критику.

    • Дело в том что несколько лет назад я отошёл непосредственно от тестирования, поэтому занимался только переводами официальной документации. Да и проект увы перестал развиваться. Доступен только сайт http://cubictest.seleniumhq.org/, а оригинал этой статьи уже нет.