如何在ios

时间:2017-07-12 04:41:52

标签: appium-ios

我正在使用Appium进行IOS测试。 (java)我希望能够检查应用程序的当前活动。从某种意义上说,当应用程序从可点击切换到另一个应用程序时(比如我关闭应用程序或切换到另一个应用程序或打开通知滚动。我希望能够检测到页面名称。要获取当前活动名称,我使用驱动程序。 currentActivity();它包含在AndroidDriver类中。

但是ios中没有直接调用当前包,但是很多人建议通过调用driver.getPageSource()来查看设备屏幕中现有元素的属性。我如何使用driver.getPageSource实现这一点,还是有其他方法可以做到这一点?任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

您可以查询当前应用程序状态,如果您具有应用程序的bundleId,则可以 查询它在后台运行还是前台运行的状态,并解决了您的问题。

Map<String, Object> params = new HashMap<>();
params.put("bundleId", "com.myapp");
final int state = (Integer)js.executeScript("mobile: queryAppState", params);

根据文档,可能有5种状态。

0: The current application state cannot be determined/is unknown
1: The application is not running
2: The application is running in the background and is suspended
3: The application is running in the background and is not suspended
4: The application is running in the foreground

Refrences