我想测试应用程序的共享功能,但我不知道如何处理android对话框"使用"完成操作(Facebook,Gmail等)
当我使用query("*")
时,它返回一组空字段
有没有办法使用Calabash或任何其他方式来处理这样的系统对话框来测试共享等功能?
我在物理设备上运行测试。
编辑:如果无法检查对话框是否已被打开,那么是否可以使用adb shell或类似的东西?
答案 0 :(得分:1)
这不是一个非常优雅的解决方案,但您可以使用adb模拟屏幕触摸。这里有一个答案 - simulating touch using ADB
编辑:添加有关使用adb转储所有UI元素的文件的一些详细信息。
在platforms / android-L文件夹中的android sdk中有一个名为uiautomater.jar的工具,adb可以用它来运行测试(尽管我从来没有用它)并转储可见的xml文件元件。
adb shell uiautomator dump test.xml
将创建xml文件(在设备上而不是您的计算机上),然后您可以在代码中查看该文件以检查所需的弹出窗口。如果你想与弹出窗口交互,那么你可以使用xml转储中给出的坐标来选择你想要的坐标,并使用adb touch事件来点击它。
不是一个漂亮的解决方案,但希望不会太难以进入您的测试:)