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

Поставка авто-тестов заказчику

Собственно говоря, жили не тужили мы - писали тесты на 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, попробую, что нибудь сделать.