我正在 iOS移动应用上使用 Appium 进行自动化。
我需要:
我环顾四周如何去做,但我一直在阅读,由于苹果框架的限制,这是不可能的,它不允许你在每个会话中向多个应用程序发送命令。
有没有人知道解决这个问题的方法?或者,如果我读到的内容并非100%真实。
答案 0 :(得分:1)
它不允许您将命令发送到每个会话的多个应用
这是真的,但你可以在单一测试中运行 2次:
快速地看起来像:
BigDecimal
答案 1 :(得分:0)
您可以使用以下方法,
答案 2 :(得分:0)
您也可以在没有退出驱动程序的情况下遵循我的方法。
WEBVIEW_***
以检查网络元素。NATIVE_APP
关键字示例代码:
System.out.println("Run application");
Map<String, Object> params = new HashMap<>();
params.put("bundleId", "com.example");
boolean terminalApp = (boolean) driver.executeScript("mobile: terminateApp", params);
System.out.println("terminateApp: " + terminateApp);
driver.findElementById("Safari").click();
Set<String> contextNames = appDriver.getContextHandles();
// Change context to WEBVIEW_***
appDriver.context(String.valueOf(contextNames.toArray()[1]));
driver.get("https://www.google.com.vn");
Thread.sleep(20000);
// Do something.
// ...
// If you want to communicate with NATIVE context just change to NATIVE_APP.
appDriver.context("NATIVE_APP");
答案 3 :(得分:0)
您可以通过driver.activateApp(BUNDLE_ID);
无需杀死应用驱动程序并启动浏览器驱动程序即可访问浏览器,只需在应用程序之间切换即可。
野生动物园
driver.activateApp("com.apple.mobilesafari");