Пользовательские тестовые актеры OpenTest - PullRequest
0 голосов
/ 30 сентября 2018

Я действительно впечатлен проектом OpenTest.Было очень интересно, сколько идей этот проект делит с некоторыми проектами, над которыми я работал и над которыми работал.Как ваша эпическая архитектура с актерами, выполняющими задания ... и многими другими:)

Вы думали о включении других технологий автоматизации, на которых будут основываться актеры?Я мог видеть две основные группы: 1 Установленные инструменты автоматизации тестирования, такие как TestCafe (поддержка не-селена графического тестирования может использовать все решение в целом) 2 Пользовательские инструменты, необходимые для конкретных задач.Было бы здорово иметь актера с некоторыми специфичными для предметной области возможностями.Теперь, как я вижу, это может быть достигнуто путем введения еще одного рабочего уровня, вызываемого субъектом с использованием rest api.Я имею в виду возможность использования / включения их в качестве новых «типов актеров» с высвобождением пользовательских ключевых слов.

1 Ответ

0 голосов
/ 03 октября 2018

Спасибо за ваши приятные слова.Мы потратили много времени на обдумывание архитектуры и реализации OpenTest, и очень приятно видеть, что люди понимают и ценят дизайн.

Внедрение новых ключевых слов (тестовых действий) может быть выполнено без создания пользовательских участников тестирования,путем создания нового Java-класса, который наследуется от базового класса TestAction и переопределяет его метод run.В качестве простого примера вы можете взглянуть на реализацию тестового действия Delay .Затем вы можете упаковать новое тестовое действие в JAR и удалить его (вместе с любыми зависимостями) в подкаталоге user-jars в рабочем каталоге вашего тестового актера.Актер теста будет динамически загружать все найденные JAR-файлы и найдет новый класс действия теста (с использованием отражения), чтобы вы могли использовать его в своих тестах.Немного полезной информации и вещей, на которые стоит обратить внимание:

  • Ваш Java-проект должен будет определить зависимость от opentest-base проекта (где находится базовый класс TestAction)реализовано).
  • Когда вы копируете JAR туда, где находится ваш тестовый субъект, обязательно скопируйте вместе с ним любые JAR-зависимости.Обратите внимание, что многие зависимости, которые могут вам понадобиться, уже включены в двоичные файлы основных участников тестирования (вы можете взглянуть на файл POM.xml , чтобы узнать, что они из себя представляют).
  • Если у вас есть какие-либо зависимости, которые конфликтуют с другими JAR-файлами, включенными в двоичные файлы субъекта тестирования ядра, вы можете применить метод под названием shading , чтобы "скрыть" конфликтующие классы под другим именем пакета.В большинстве случаев вам это не понадобится, но если вам это нужно, и вы застряли, дайте мне знать, и я дам вам несколько советов.

Вот пример проекта, который демонстрирует, как построитьрасширение OpenTest, которое создает пару пользовательских ключевых слов: https://github.com/adrianth/opentest-extension-sample

А вот обширный видеоурок о создании пользовательских ключевых слов OpenTest: https://getopentest.org/tutorials/custom-keywords.html

...