我想逃離我的測試案例中的批處理文件使用下面的代碼在一個特定的端口上啓動appium服務器:在詹金斯使用批處理文件來觸發的testng.xml
String cmd="cmd /c \"cd C:\\Program Files\\Appium\\node_modules && start C:\\GitRapo\\MyProject\\samplenote2.bat\"";
Runtime r=Runtime.getRuntime();
Process pr=r.exec(cmd);
samplenote2.bat是
節點appium --address 127.0.0.1 -p 4727 @pause
在此之後休息我的測試案例應該在此appium執行:這將打開命令提示符的新實例,並給出以下命令的批處理文件服務器。當我手動運行testNGBatchFile.bat時,我能夠調用testng.xml,然後調用samplebody2.bat在測試用例中指定並執行其他操作。但在jenkins的情況下,testNGBatchFile.bat執行時能夠調用testng.xml,但無法調用代碼中提到的批處理文件(即無法啓動appium服務器)
任何人都可以幫助我解決這個問題嗎?
已經做了你在說什麼。在testNGBatchFile.bat中,我正在設置項目位置,cd%projectlocation%,爲bin和lib文件夾設置classpath,然後執行testNG.xml。對於其他批處理文件,我已經提到了上面的代碼。先導航到位置,然後調用批處理文件。當我在Jenkins中調用testNGBatchFile.bat時,問題在於它能夠調用testNG.xml,但無法打開新的cmd提示符以啓動「samplenote2.bat」,因爲我的測試正在被跳過。我可以在執行cmd節代碼之前在控制檯中打印一些消息。 – Amrit
@Amrit你可以添加完整的代碼嗎? – Vinod
整個代碼的PFB鏈接。 https://github.com/amritkrishan/Appium/tree/master/MyProject – Amrit