Ios 在远程网格中运行applescript或osascript
未经解决的类似问题: 我需要在带有appleScript的iPhone模拟器上的硬件下拉菜单上单击以启用touchID。我有以下一段代码运行得非常好(在我授予Eclipse控制我的计算机的权限之后),但是当我在saucelabs上运行此代码时,我得到以下错误:Ios 在远程网格中运行applescript或osascript,ios,applescript,appium,saucelabs,osascript,Ios,Applescript,Appium,Saucelabs,Osascript,未经解决的类似问题: 我需要在带有appleScript的iPhone模拟器上的硬件下拉菜单上单击以启用touchID。我有以下一段代码运行得非常好(在我授予Eclipse控制我的计算机的权限之后),但是当我在saucelabs上运行此代码时,我得到以下错误: java.io.IOException: Cannot run program "osascript": error=2, No such file or directory at java.lang.ProcessBuilder.sta
java.io.IOException: Cannot run program "osascript": error=2, No such file or directory
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
这是我的密码:
protected void enableTouchIDLogin(){
try
{
String appleScriptCommand = "tell application \"System Events\" to tell process \"Simulator\"\n" +
"click menu item \"Touch ID Enrolled\" of menu 1 of menu bar item \"Hardware\" of menu bar 1\n"+
"end tell";
runAppleScript(appleScriptCommand);
}
catch (Exception e)
{
e.printStackTrace();
}
}
protected void runAppleScript(String appleScriptCommand) throws IOException{
Runtime runtime = Runtime.getRuntime();
String[] args = { "osascript", "-e", appleScriptCommand};
try
{
Process process = runtime.exec(args);
}
catch (Exception e)
{
e.printStackTrace();
}
};
这一行将为您获取测试主机上的运行时,而不是远程机器上的运行时,因此它将无法在远程机器上工作。你需要做的是在远程机器上运行你的apple脚本。Appium目前不支持它,WebDriver API也不支持
Runtime runtime = Runtime.getRuntime();