Спасибо за ваши приятные слова.Мы потратили много времени на обдумывание архитектуры и реализации 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