Я использую следующую рабочую команду для командного файла Windows.
set projectLocation=E:\APPIUM\CXMFunctionalTest\LinuxAPITest
cd %projectLocation%
set classpath=%projectLocation%\bin;%projectLocation%\lib\*
java org.testng.TestNG %projectLocation%\testng.xml
pause
Как я могу преобразовать это в Linux Shell Script? Так что я могу запустить его на машине Linux.
Это немного похоже на вопрос: «Как я могу преобразовать этот Java-код в Haskell-код»? Единственный общий рецепт весьма разочаровывает, поскольку он «реконструирует исходный код, а затем кодирует полученный алгоритм на целевом языке».
В любом случае, я думаю, что эти две команды должны работать нормально: cd /your/project/path; java -cp "./bin:./lib/*" org.testng.TestNG ./testng.xml (где /your/project/path должен быть путем unix, эквивалентным E:\APPMIUM\CXMFunctionalTest\LinuxAPITest)
* Системы IX не имеют букв дисков, разделитель путей - это косая черта, обычно используется регистр змеи в командах оболочки и именах каталогов / файлов, а переменные среды используют ${}, а не символ %, поэтому ваши команды будут выглядеть как-то как project_location=/home/yourname/projects/appium/cxm_functional_test/api_test и cd ${project_location}.




cd /home/[[youruser]]/APPIUM;
java org.testng.TestNG /home/[[youruser]]/APPIUM/testng.xml;
Этого должно быть достаточно, учитывая, что [[youruser]] - это домашняя папка ваших пользователей, а папка APPIUM находится непосредственно внутри нее. Затем вы можете поместить это в файл с именем runappium.sh и запустить его с помощью команды sh appium.sh или пометить его как исполняемый и запустить напрямую.
Это немного зависит от вашей среды * Nix, от того, как вы планируете ее запускать и т. д., Но что вы пробовали до сих пор и с какими проблемами столкнулись?