Собственно говоря, жили не тужили мы - писали тесты на Java, да с maven и TestNG. И вдруг заказчик заявляет, что хотел бы тесты и у себя локально запускать (он за них платил - имеет право). Не хочет он вникать в какие то подробности, заходить на какой то сервер - ставить у себя maven “который скачает ему пол-интернета”…хочет несколько ярлыков и магию. Вопрос, как же поставить ему эти тесты, так, что бы был минимальный риск, что он что то сломает или уронит у себя.
Ну как-бы, при данных условиях, у вас один вариант - jar-with-dependencies.
Как уже сказали выше, все сливается в jar и запускается из cmd.
То есть через плагин все слить в один большой jar-файл? И этот jar ,будет нормально отрабатывать на фазах:
test
site
Или я что то неправильно понял?
Если нужно производить запуск через фазы мавена, то без самого мавена тут не обойтись. Как вариант поставлять его вместе со скриптами и с необходимым in-project repository.
Либо менять способ запуска тестов на более простые.
Если заказчик не хочет ничего ставить, то ваш фрейм с пейджами зашивается в jar, в classpath ложится jar + бинарники тестов, запускается скрипт, дергающий TestNG с заданным класспасом и необходимым параметрами, включая ваш testng.xml.
Вот пример скрипта (когда-то таким тоже страдали):
@echo off
pushd %~dp0
if exist results rmdir /s /q results
set JAVA_PATH=%PROGRAMFILES%
set JAVA="%JAVA_PATH%\Java\jdk1.7.0_60\jre\bin\java.exe"
:setJava
set CLASSPATH=libs\yourFrameworkAndPOs.jar;bin
set TESTNG_CONFIG=suites\regression.xml
%JAVA% -Dorg.uncommons.reportng.escape-output=false -Dorg.uncommons.reportng.title="Test Results" -ea -cp %CLASSPATH% com.beust.testng.TestNG -usedefaultlisteners false -configfailurepolicy continue -d "results" %TESTNG_CONFIG%
popd
где bin в classpath - фолдер с бинарниками тестов.
П.С. В этом примере использовался ReportNG.
Спасибо, у меня используется TestNG и Allure, попробую, что нибудь сделать.