这是一个例子,我是android的新派,我正在运行一个自动测试,用calabash-android从安装在android上的应用程序每5分钟发送一封电子邮件。在这种情况下,我可以成功地打开电子邮件应用程序,但是新的电子邮件按钮上有一个信封的图像。
现在,我如何知道该按钮的标识符,以便告诉calabash-android按下该按钮?
我试图为模拟器运行调试,每次按下新的电子邮件按钮,我都会在调试中收到以下内容:
11-27 18:36:59.092: I/ActivityManager(1177):启动pid 5668中的u0 u0(有额外的)}
有人知道如何获取按钮的标识符吗??
发布于 2013-12-20 20:24:12
UI上的每个元素都有一种查询方式。您可能不需要id,因为有时可以使用所述元素的其他特性来查询它。
通常,我是这样处理这些问题的。例如,我想查询菜单上显示的元素:
1-点燃葫芦的控制台。您可以按照以下说明(从calabash的维基)执行此操作。
krukow:~/tmp/android$ calabash-android console login.apk
irb(main):001:0> start_test_server_in_background
=> nil
#You can now query the UI and see the description2-显示我要查询的UI (在本例中,我单击菜单按钮)。然后我输入控制台:
query("*")这将最终显示屏幕上的所有视图,包括一些甚至不可见的内容。您只需查找要查询的视图的一些特性。在我的例子中,我会注意到我想要的视图是用特定的文本标记的。
query(" * marked:'More'")最终,您可以从视图中的文本,到它的id,到它的位置。因为query返回一个数组,所以在最坏的情况下,您可以使用数组中的索引获得一个元素。
如果需要帮助编写查询,请尝试query("*")命令并发布结果。
https://stackoverflow.com/questions/20249220
复制相似问题