calabash-android新邮件按钮

时间:2013-11-27 17:32:24

标签: android calabash

就是这样的情况,我是android中的新派,我正在运行一个自动测试,每隔5分钟从安装在android上的应用程序使用calabash-android发送电子邮件,在这种情况下我可以打开电子邮件应用程序成功,但新的电子邮件按钮标有信封图像。

现在我怎么知道该按钮的标识符告诉calabash-android按下那个按钮?

我尝试为模拟器运行调试,每次按下新的电子邮件按钮,我都会在调试中收到:

  

11-27 18:36:59.092:I / ActivityManager(1177):从pid 5668开始u0 {cmp = com.android.email / com.android.mail.compose.ComposeActivity(有附加内容)}

任何人都知道如何获取该按钮的标识符?

1 个答案:

答案 0 :(得分:2)

UI上的每个元素都有一种查询方式。您可能不需要id,因为有时可以使用所述元素的其他特征来查询它。

通常,我会解决这些问题。比如说我想查询菜单上显示的元素:

1-点燃葫芦的控制台。您可以按照这些说明(来自calabash的wiki

执行此操作
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 description

2-显示我要查询的UI(在这种情况下,我单击菜单按钮)。然后我输入控制台:

 query("*")

这最终将显示屏幕上的所有视图,包括一些甚至看不到的内容。您只需查找要查询的视图的某些特征。在我的情况下,我会注意到我想要的视图标有特定文本。

 query(" * marked:'More'")

最终,你可以从视图内的文本,到它的id,到它的位置。由于query返回一个数组,最坏的情况是,可以使用数组中的索引获取一个元素。

如果您需要编写查询的帮助,请尝试query("*")命令并发布结果。