我想测试一个应用程序的共享功能,但我不知道如何处理android对话框"使用完整操作"(facebook,Gmail等)。)
当我使用 query("*") 它正在返回一组空的字段。
有没有办法使用Calabash或任何其他方法来测试共享等功能来处理此类系统对话框?

我正在物理设备上运行我的测试。

编辑:如果没有办法检查对话框是否已打开,那么也许可以使用adb shell或类似的东西?

有帮助吗?

解决方案

这不是一个非常优雅的解决方案,但您可以使用adb模拟屏幕触摸。这里有一个涵盖它的答案 - 使用ADB模拟触摸

编辑:添加有关使用adb转储所有UI元素的文件的一些详细信息。

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

adb shell uiautomator dump test.xml

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

不是一个很好的解决方案,但希望不会太难进入你的测试:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top