2

我想测试应用程序的共享功能,但我不知道如何处理 android 对话框“使用完成操作”(Facebook、Gmail 等)
当我使用query("*")它时返回一组空字段。
有什么方法可以使用 Calabash 或任何其他方法来测试此类功能(例如共享)来处理此类系统对话框?

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

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

4

1 回答 1

1

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

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

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

adb shell uiautomator dump test.xml

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

不是一个漂亮的解决方案,但希望在您的测试中不会太难:)

于 2014-07-31T12:40:47.220 回答