当前位置:  开发笔记 > 编程语言 > 正文

无法触摸数组中的第二个元素

如何解决《无法触摸数组中的第二个元素》经验,为你挑选了1个好方法。

我正在尝试使用Calabash触摸UITextField.当我使用query("UITextField")[x],其中x是屏幕上的文本字段数组中的数字,我可以正确查询一个文本字段.但是,当我使用touch("UITextField")[x]它时将始终触摸第一个文本字段.使用控制台和使用黄瓜运行测试时会发生这种情况.

这是关于我的设置的相关信息:

xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

xcodebuild -version
Xcode 7.2
Build version 7C68

calabash-ios version
0.16.4

Christopher .. 6

尝试

touch("UITextField index:x")

哪里x == your index.

另外,请更新到葫芦0.17.0 :)

说明

Calabash环境由客户端和服务器组成.服务器作为应用程序的一部分在设备/模拟器上运行,并从客户端接收命令/查询.在这种情况下,客户端是您通过其与应用程序交互的ruby界面.

客户端负责向服务器发送足够的信息以选择要在其上执行手势的对象.一旦执行了手势/查询,结果将以json/hashes的形式发送回客户端,这是您在控制台中看到的.区别很重要:服务器执行查询,而客户端则不执行.

当您在irb控制台中看到查询/手势的结果时,它已经被执行:返回的json只表示视图的状态,而不是实际的视图本身.

所以当你跑步的时候

touch("UITextField")[index]

这实际上相当于

touch_results = touch("UITextField")
touch_results[index]

在第一行中,touch_results接收受执行touch查询结果影响的元素的json表示"UITextField",这意味着touch在您尝试访问结果时事件已经完成touch_results[index].

另一种思考方式是:给定res = touch(query),它是query用于指定实际视图的部分,并且res只是json,表示查询或手势的那些视图/结果的状态.

结论

当你需要查询更多的特异性,在符需要去里面查询.例如,

touch("all UIScrollView UITextField marked:'some text' index:2")

(这将搜索所有 UIScrollViews,在其中找到包含与"some text"匹配的文本的任何UITextFields,并返回第3个这样的结果).

有关查询语言语法的完整说明,请参阅文档.



1> Christopher ..:

尝试

touch("UITextField index:x")

哪里x == your index.

另外,请更新到葫芦0.17.0 :)

说明

Calabash环境由客户端和服务器组成.服务器作为应用程序的一部分在设备/模拟器上运行,并从客户端接收命令/查询.在这种情况下,客户端是您通过其与应用程序交互的ruby界面.

客户端负责向服务器发送足够的信息以选择要在其上执行手势的对象.一旦执行了手势/查询,结果将以json/hashes的形式发送回客户端,这是您在控制台中看到的.区别很重要:服务器执行查询,而客户端则不执行.

当您在irb控制台中看到查询/手势的结果时,它已经被执行:返回的json只表示视图的状态,而不是实际的视图本身.

所以当你跑步的时候

touch("UITextField")[index]

这实际上相当于

touch_results = touch("UITextField")
touch_results[index]

在第一行中,touch_results接收受执行touch查询结果影响的元素的json表示"UITextField",这意味着touch在您尝试访问结果时事件已经完成touch_results[index].

另一种思考方式是:给定res = touch(query),它是query用于指定实际视图的部分,并且res只是json,表示查询或手势的那些视图/结果的状态.

结论

当你需要查询更多的特异性,在符需要去里面查询.例如,

touch("all UIScrollView UITextField marked:'some text' index:2")

(这将搜索所有 UIScrollViews,在其中找到包含与"some text"匹配的文本的任何UITextFields,并返回第3个这样的结果).

有关查询语言语法的完整说明,请参阅文档.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有