如何实现appium移动端的新特性:getContexts for android混合自动化

Posted

技术标签:

【中文标题】如何实现appium移动端的新特性:getContexts for android混合自动化【英文标题】:How to implement appium's new feature of mobile:getContexts for android hybrid automation 【发布时间】:2021-10-20 21:59:05 【问题描述】:

Appium 引入了使用移动命令mobile:getContexts 收集 webview 详细信息的功能。使用此功能,我想从 webview 中排除分离的窗口,以便我可以切换到实际需要的窗口。我如何在java中做到这一点?如何过滤driver.executeScript("mobile:getContexts") 的响应并验证键attached 的值。谢谢。

【问题讨论】:

【参考方案1】:

对于最新的appium v​​1.22+,请使用以下方法,

//getContext
String currentContext = (String) appiumDriver.execute(DriverCommand.GET_CURRENT_CONTEXT_HANDLE).getValue();
System.out.println("getContext:"+currentContext);

//SwithToContext (NATIVE_APP)
appiumDriver.execute(DriverCommand.SWITCH_TO_CONTEXT, ImmutableMap.of("name", "NATIVE_APP"));

//SwithToContext (WEBVIEW)
appiumDriver.execute(DriverCommand.SWITCH_TO_CONTEXT, ImmutableMap.of("name", "WEBVIEW"));

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何实现appium移动端的新特性:getContexts for android混合自动化的主要内容,如果未能解决你的问题,请参考以下文章

appium环境搭建python

python appium环境搭建

Python爬虫:使用Appium在移动端抓取微博数据

Python爬虫:使用Appium在移动端抓取微博数据

移动端自动化测试appium环境搭建

移动端的UI自动化测试摸索