我在从java运行bashscript时遇到问题,需要参数并启动Appiumnode。所以我希望在节点运行的地方打开一个物理终端。
我设法使用以下命令启动selenium网格:
rt.exec( new String[] { "/usr/bin/open" , "-a", "Terminal.app", "grid.sh"}) ;
而脚本本身是:
#!/bin/bash
cd ~/../../usr/local/selenium
java -jar selenium-server-standalone-2.53.0.jar -role hub -port 4040
但对于appiumnodes,我们有不同的设备,因此我们有不同的节点。 我想用参数化脚本开始这些:
#!/bin/bash
cd ~/../..
node /Applications/Appium.app/Contents/Resources/node_modules/appium/build/lib/main.js --nodeconfig $1 -p $2 -U $3 -bp $4
但是我无法像在网格中那样在终端中运行节点。
我在这里和其他人尝试了很多解决方案,但没有一个成功。始终没有打开终端,也没有启动节点。
我尝试过的解决方案是:
rt.exec( new String[] { "/usr/bin/open" , "-a", "Terminal.app", "NodeExecutor.sh " + filepath + " "+ Port + " " + parts[1] + " " + bp});
rt.exec( new String[] { "/bin/bash" , "-c", "/bin/bash NodeExecutor.sh " + filepath + " "+ Port + " " + parts[1] + " " + bp});
rt.exec( new String[] { "/usr/bin/open" , "-a", "Terminal.app"});
rt.exec( new String[] { "/usr/bin/osascript" , "-e", "tell application \"Terminal\" to do shell script \""+ filepath + "/NodeExecutor.sh " + filepath + " "+ Port + " " + parts[1] + " " + bp + "\" "});
我的所有bash脚本也设置为可执行文件:chmod +x /PATH...
有人可以帮我这个吗?