我試圖在我使用Java編寫的代碼中啓動appium服務器。 我嘗試下面的命令,它不工作:有沒有辦法讓我的代碼在代碼中開始?
appium = Runtime.getRuntime().exec("/usr/local/bin/appium");
我試圖在我使用Java編寫的代碼中啓動appium服務器。 我嘗試下面的命令,它不工作:有沒有辦法讓我的代碼在代碼中開始?
appium = Runtime.getRuntime().exec("/usr/local/bin/appium");
爲了啓動Appium在OS X,你應該包括「開放」,並在末尾添加一個「的.app」。
例如:
appium = Runtime.getRuntime().exec("open /Applications/Appium.app");
我有同樣的問題,但我使用紅寶石。 問題不是服務器沒有啓動,服務器正在運行,但是當腳本執行時,如果服務器沒有運行,就會失敗。 對我而言有效的是將Appium作爲一個獨立的線程啓動。 紅寶石是這樣的:
Thread.new{run_command('avm use 1.3.4 --no-reset &',1,5,false)}
我想應該有卜類似的東西,可以用Java來完成。
下面的步驟我
工作的罰款遵循這裏安裝的節點上,故宮的步驟。 (http://blog.teamtreehouse.com/install-node-js-npm-windows)
命令提示符:npm install -g [email protected]
#for最新
確保包括在那裏你已經在你的系統環境變量安裝Appium路徑(我的是C:UsersXXXAppDataRoamingnpmnode_modulesappiu
)
添加以下在BeforeTest代碼啓動appium服務器編程
CommandLine command = new CommandLine("cmd");
command.addArgument("/c");
command.addArgument("appium");
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValue(1);
executor.execute(command, resultHandler);
public class StartandEndServer {
public static void startServer() throws ExecuteException, IOException, InterruptedException{
CommandLine command = new CommandLine("cmd");
command.addArgument("/c");
command.addArgument("C:/Progra~2/nodejs/node.exe");
command.addArgument("C:/Progra~2/Appium/node_modules/appium/bin/appium.js");
command.addArgument("--address", false);
command.addArgument("127.0.0.1");
command.addArgument("--port", false);
command.addArgument("4723");
//command.addArgument("--no-reset");
command.addArgument("--full-reset", false);
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValue(1);
executor.execute(command, resultHandler);
Thread.sleep(5000);
}
}
請詳細說明「它不起作用」。什麼是錯誤? –
沒有錯誤,至少我看不到一個。只是該appium服務器不啓動。這就像命令被傳遞,但它沒有被執行。 – user3564094