使用葫芦黄瓜中的对象
Working with objects in a calabash-cucumber
在研究用于测试移动应用程序的 calabash-cucumber 的过程中,出现了如何使用对象的问题。用于测试的应用程序 iOS,这里有一个 Activites 有 4 个问题,每个问题有 3 个答案。要传递到下一个 Activiti,您需要回答这些问题,答案是在问题对面的选项上打勾。图片是这样的:
|1|0|0| or |1|0|0|
|0|1|0| or |1|0|0|
|0|0|1| or |1|0|0|
|1|0|0| or |0|0|1|
1 - 选中的选项(复选框);
0 - 未选择字段。
按钮没有绑定 - ID 和文本都没有。我们必须通过坐标找到它。问题来了:如何用给定的坐标设置一个对象(按钮),然后在步骤的主体中将一个方法(例如,object.touch(x, y)
)传递给它?有兴趣检查所有组合,其中有 81 个(在步骤中非常多)- 使用对象会更容易(您可以编写一个计数器来破坏)。这是我的尝试,但它们不起作用:
class Tapper
def tap(x, y)
perform_action('click_on_screen', x, y)
#or touch(nil, {:offset => {:x => x.to_i, :y => y.to_i}})
end
end
Then /^I touch on screen $/ do |x, y|
@answer_1_1 = Tapper.new
@answer_1_1.tap(802, 153)
end
结果是:
undefined step
或:
undefined method 'perform_action' for Object
Calabash x-platform 允许您实现 类 和对象。
在研究用于测试移动应用程序的 calabash-cucumber 的过程中,出现了如何使用对象的问题。用于测试的应用程序 iOS,这里有一个 Activites 有 4 个问题,每个问题有 3 个答案。要传递到下一个 Activiti,您需要回答这些问题,答案是在问题对面的选项上打勾。图片是这样的:
|1|0|0| or |1|0|0|
|0|1|0| or |1|0|0|
|0|0|1| or |1|0|0|
|1|0|0| or |0|0|1|
1 - 选中的选项(复选框);
0 - 未选择字段。
按钮没有绑定 - ID 和文本都没有。我们必须通过坐标找到它。问题来了:如何用给定的坐标设置一个对象(按钮),然后在步骤的主体中将一个方法(例如,object.touch(x, y)
)传递给它?有兴趣检查所有组合,其中有 81 个(在步骤中非常多)- 使用对象会更容易(您可以编写一个计数器来破坏)。这是我的尝试,但它们不起作用:
class Tapper
def tap(x, y)
perform_action('click_on_screen', x, y)
#or touch(nil, {:offset => {:x => x.to_i, :y => y.to_i}})
end
end
Then /^I touch on screen $/ do |x, y|
@answer_1_1 = Tapper.new
@answer_1_1.tap(802, 153)
end
结果是:
undefined step
或:
undefined method 'perform_action' for Object
Calabash x-platform 允许您实现 类 和对象。