当Calabash iOS向我发送*****结果时,这是什么意思?
客户端:红宝石2.1.5 /宝石/葫芦,黄瓜0.16.3 服务器: “版本”: “0.16.2”当Calabash iOS向我发送*****结果时,这是什么意思?
我周围添加一些地图调试()。正常的查询返回:
{:query =>“标记为'其他选项'的按钮”,:method =>:query,:args => [{:isEnabled => 1}],:r => {“status_bar_orientation”=>“down”,“results”=> [“*****”],“outcome”=>“SUCCESS”}}
我不知道如何解释*** **。
在map.rb的assert_map_results中,“*****”是一个失败的案例,所以它显然很糟糕。
在模拟器日志中,我看到的东西像
10月12日17点37分57秒廷布斯-的MacBook,Pro.local [36121]: - [__ NSCFString objectForKey:]:无法识别的选择发送到实例0x7f7f6fe4f730 十月12 17:37:57 TimBs-MacBook-Pro.local [36121]:***由于未捕获的异常'NSInvalidArgumentException',原因:' - [__ NSCFString objectForKey:]:无法识别的选择器发送到实例0x7f7f6fe4f730'
我认为它试图决定它是否可以将isEnabled应用于字符串“*****”,而不是像地图那样行为的对象。
为什么地球上他们选择了一些不具信息性的东西,并且很难进行网络搜索?
更新:我原本
element = "button marked:'game hot icon norm'"
element_exists(element) && query(element, :isEnabled).first.eql?(1)
但发现一个参考
query("button isEnabled:1")
我误读,并适于作为查询( “键”,的IsEnabled:1)。这没有帮助,但不是“*****”结果的原因。不幸的是,回到已知的良好状态,并逐渐回到问题状态,从来没有导致问题重新出现,尽管git说没有真正的区别。我只能怀疑一个肮脏的构建。
这意味着您尝试调用Objective-C对象上的未知选择器。 在这种情况下,在NSString
的实例上正在调用objectForKey:
。
什么是您试图运行的查询或手势?
它是:
query("button marked:'Other options'", [{:isEnabled => 1}])
如果是这样,那么问题是,NSButton
并不isEnabled:
响应(注意尾随:
)。这是访问者。制定者是:setEnabled:
。
如果您正在试图通过启用岬过滤:
query("button marked:'Other options'", :isEnabled)
如果你试图设置启用状态:
query("button marked:'Other options'", [{:setEnabled => 1}])
你到底为什么他们选择的东西,所以不提供信息并难以搜索网络?
它很难改变,因为Calabash卡在0.x中,并且使用语义版本控制,因此直到1.x版本才能更改API。我相信(但我不记得)瓢虫2.0提供了一个更好的通知。