Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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


(Александр Шиповалов) #1

Собственно говоря, жили не тужили мы - писали тесты на Java, да с maven и TestNG. И вдруг заказчик заявляет, что хотел бы тесты и у себя локально запускать (он за них платил - имеет право). Не хочет он вникать в какие то подробности, заходить на какой то сервер - ставить у себя maven “который скачает ему пол-интернета”…хочет несколько ярлыков и магию. Вопрос, как же поставить ему эти тесты, так, что бы был минимальный риск, что он что то сломает или уронит у себя.


[Resolved] Как удаленно запускать тесты на той же машине, где они разворачиваются?
(vmaximv) #2

Ну как-бы, при данных условиях, у вас один вариант - jar-with-dependencies.


(Sergey Korol) #3

Как уже сказали выше, все сливается в jar и запускается из cmd.


(Александр Шиповалов) #4

То есть через плагин все слить в один большой jar-файл? И этот jar ,будет нормально отрабатывать на фазах:
test
site
Или я что то неправильно понял?


(vmaximv) #5

Если нужно производить запуск через фазы мавена, то без самого мавена тут не обойтись. Как вариант поставлять его вместе со скриптами и с необходимым in-project repository.
Либо менять способ запуска тестов на более простые.


(Sergey Korol) #6

Если заказчик не хочет ничего ставить, то ваш фрейм с пейджами зашивается в jar, в classpath ложится jar + бинарники тестов, запускается скрипт, дергающий TestNG с заданным класспасом и необходимым параметрами, включая ваш testng.xml.


(Sergey Korol) #7

Вот пример скрипта (когда-то таким тоже страдали):

@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.


(Александр Шиповалов) #8

Спасибо, у меня используется TestNG и Allure, попробую, что нибудь сделать.