Appium [求助] webview 页面调起 native 控件时不生效

小暖ljj · 2017年07月26日 · 最后由 淽沐 回复于 2017年07月28日 · 1362 次阅读

目的:
对一个 native APP 中的 webview 页面进行 UI 自动化操作,webview 页面中存在一些调起 native 控件的操作

做法:
直接启动 APP 时即调起 webview 页面,通过 UI Automator Viewer 查看页面元素,并通过 appium 的 api 进行操作。

问题:
在 webview 页面执行点击操作调起 native 控件时,不生效,不能吊起,手动点击没问题。

考虑但失败的做法
1.click 点击更换成 js 点击,报错 WebDriverException: Message: Method has not yet been implemented
2.切换窗口,同样报错 WebDriverException: Message: Method has not yet been implemented
3.更换 tab 等点击,依然失败
4.context 切换到 native,失败,因为现在就是用 appiumdriver 操作的

代码:

失败在 loading_loc1 = self.driver.find_element(MobileBy.ID, 'com.****:id/message_content'),找不到此元素

共收到 1 条回复 时间 点赞

可以参考这个看看https://testerhome.com/topics/4432
里面有个这个评论,希望能够帮到你
1、基于 Uiautomator 提供的 .getCurrentActivity() 方法获取的当前 Activity 并不准确, 如何获取当前页面的 Activity 名称?
2、有可能整个 App 只有一个 Activity ,关于 Android,用多个 activity,还是单 activity 配合 fragment?
3、Appium 本来就有.start_activity 方法,是用三楼说的 intent 实现的,不是所有 Activity 都可以用这个方法打开
4、Android 测试中获取包名、Activity 的方法总结

没想到有什么万能的方法可以在各种情况下直接跳到想测试的页面

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