应用程序需要INJECT_EVENTS权限-需要一个非优雅的解决方案:)



在我正在测试的应用程序中,我可以选择向客户发送反馈。当我使用这个选项时,gmail打开了,然后我有点"锁定在"我的应用程序之外。当然,query(“*”)返回"[]",命令press_back_button给出了上面的错误。环顾四周,发现了一些根设备的解决方案。

对我来说,这是不可能的——我们正在为客户开发应用程序,作为一名QA经理,我无法测试与最终客户不同的环境。

所以,我正在使用adb shell命令:

system("adb shell input text 'this%sis%san%sexample' ")

system("adb shell input keyevent 66")--用于输入

system("adb shell input keyevent 4")-用于返回

system("adb shell input keyevent 27")---拍照。

(你可以在这里找到完整的列表-ADB外壳输入事件)

但是,我在这里工作失明。

是否有相当于"query"的adb shell命令?

在platforms/android-L文件夹中的android sdk中,有一个名为uiautomator.jar的工具,adb可以使用它来运行测试(尽管我从未使用过它)并转储可见元素的xml文件。

adb shell uiautomator dump test.xml

将创建xml文件(在设备上而不是您的计算机上),然后您可以在代码中查看该文件,以检查您想要的弹出窗口。如果你想与弹出窗口交互,那么你可以使用xml转储中给出的坐标来选择你想要的坐标,并使用adb触摸事件来点击它。

这是从我回答的另一个问题——葫芦处理";使用";对话框,如果需要,可以提供更多细节。

相关内容

  • 没有找到相关文章

最新更新