在我正在测试的应用程序中,我可以选择向客户发送反馈。当我使用这个选项时,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触摸事件来点击它。
这是从我回答的另一个问题——葫芦处理";使用";对话框,如果需要,可以提供更多细节。