我使用的是calabash-android版本0.5.5控制台与我的应用程序进行交互,除了几乎没有任何我的元素具有ID之外,一切运行正常。我正在使用的应用程序是使用Titanium制作的,我正在搜索的元素在我的代码中设置了id。Calabash Android控制台没有显示任何ID
当我打印所有视图的ID像这样query("*",:id)
我只得到NoResourceEntry
和零。例如:
[ 0] nil,
[ 1] "NoResourceEntry-86",
[ 2] "NoResourceEntry-87",
[ 3] "NoResourceEntry-88",
[ 4] nil,
[ 5] nil
什么可能是错的?
我得到同样的结果与'查询数组进行查询(“*”) .MAP {| E | e ['id']}' – rodrigobdz
它与钛本身有什么关系?我注意到Titanium中使用的元素ID不会传递到编译的iOS和Android本机项目。我已经尝试设置辅助功能标签失败,以便能够唯一识别我的元素,但这种方法无效。当我查询Android元素时,会出现'nil'或'NoResourceEntry-XY'。当我使用'query(“view”,:marked)查询iOS元素时''我为每个元素获得'[i]“******”''作为元素编号 – rodrigobdz
'query('view' ,:已标记)'与在每个视图上调用'marked'相同。在Objective-C术语中,'UIView'不响应'marked',所以你得到“******”。在Java中,你会得到一个'NotSuchMethod'异常。 – jmoody