Appium IOS本机应用程序应用程序切换

时间:2015-12-10 17:56:25

标签: ios automation appium

我单击myApplication中的链接,将我重定向到safari,现在我要关闭safari并在同一状态下打开myApplication? appium不支持主页按钮。

试过了,

1

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("UIATarget.localTarget().deactivateAppForDuration(5); 

但它正在关闭并再次打开Safari应用程序。如何切换到myApplication而不是safari?

2。 Appium默认方法似乎无法正常工作IOS,

driver.closeApp();
driver.launchApp();

退出司机。

3

JavascriptExecutor js = (JavascriptExecutor) driver;
Object result = js.executeScript("mobile: closeApp");
HashMap<String, String> args = new HashMap<String, String>();
args.put("bundleId", "com.myApplication.iphone");
js.executeScript("mobile: launchApp", args);

得到&#34; org.openqa.selenium.WebDriverException:尚未实现&#34;错误。

4

Runtime runtime = Runtime.getRuntime();
String[] args = {"osascript", "-e", "tell app \"safari\" to quit"};
runtime.exec(args);


runtime = Runtime.getRuntime();
String[] cmd = { "osascript", "-e", "tell app \"myApplication\" to launch" };
runtime.exec(cmd);

不工作。

5

try {
        Robot robot = new Robot();

        // Simulate a key press
        robot.keyPress(KeyEvent.VK_CONTROL);
        robot.keyPress(KeyEvent.VK_SHIFT);
        robot.keyPress(KeyEvent.VK_H);

        // Simulate a key press
        robot.keyRelease(KeyEvent.VK_H);
        robot.keyRelease(KeyEvent.VK_SHIFT);
        robot.keyRelease(KeyEvent.VK_CONTROL);

    } catch (AWTException e) {
        e.printStackTrace();
    }

不工作

1 个答案:

答案 0 :(得分:0)

我能看到的最好方法是设置所需的功能,以便在会话caps.setCapability("noReset", true)之间不重置应用。

然后,在您单击Safari上的链接并执行您需要执行的任何操作后,请关闭会话driver.quit()并再次使用您的应用程序启动新会话。它应该从你离开的地方开始。