Appium 微信应用里面的混合应用怎么定位元素或切换到 web view 里面去?

ding · 2016年01月17日 · 最后由 小星 回复于 2017年03月24日 · 2029 次阅读

在做微信下订单的自动化测试,但是发现进入下订单页面,uiautomationview 无法识别下订单页面,所有公众号自己的页面的 web 元素都无法定位,而且没有 web view 。
使用 uiautomationview 好多元素都指向一个大红框,无法进入红框内部定位,像这种怎么用 appium switch 到公众号自己的页面上去,好进行自动化操作?
图例是以微信支付公众号>更多服务>商家接入来作为例子,和要测试的公众号订单页面类似,请大神帮忙看下要怎么处理?

共收到 18 条回复 时间 点赞

可以的呀。
Python 版本切换到 webview 供参考:

webview = self.driver.contexts[1]
self.driver.switch_to.context(webview)
ding #2 · 2016年01月17日 Author

System.out.println("aaaa:"+driver.getContext());
aaaa:NATIVE_APP

用 driver.getContext() 只打印了一个 Native_APP, 无法切换呢!还有其他办法么?

#2 楼 @testerway 你开了 WebContentDebugging 没?

ding #4 · 2016年01月17日 Author

@b_88 微信公众号里面的应用,进入微信公众号,点击底部订单菜单进入的页面,怎么开 WebContentDebugging,可以开么?

#4 楼 @testerway 貌似是不行的。不过你如果你的公众号如果没有限制浏览器打开的话,还是可以尝试下用浏览器打开对应的连接来测试的。

#1 楼 @b_88 java 的要如何互相切换呢

我也遇难了类似的问题,你的问题解决了吗,怎么解决的?

#7 楼 @juan37 你好,我也遇到了相同的问题,请问你解决了吗~~是怎么定位手机网页里面的元素的

#4 楼 @testerway 请问怎么进入微信公众号里面啊 ?初学微信公众号

我使用微信登录 app 时,获取不到授权页面中的 “确认登录” 元素,需要怎么解决呢?Python

进入微信公众号嵌入的 html5 界面就获取不到任何元素了

#2 楼 @testerway 我切换到微信里面的 web view 打印时显示 NATIVE_APP 切换不过去
current = driver.context
driver.switch_to.context(current)
for context in current:
print(context)

坐等解决方案~

小白求指导, 如何进入微信啊?苹果和安卓的方法一样么

我想问下 为什么我启动微信的时候老是闪退 在模拟器和真机上都是

试试点 uiautomatorViewer 的 device screenshot with compressed hierarchy 按钮

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册