我有代码,当我点击一个按钮时,数字增加,我想确保数字增加,我能够看到数值已经改变,但无法显示它增加了1这是代码;
When(/^I click the create room button$/) do
createpress = @browser.iframe(:id , 'iconsole-plugin-session_iframe__').button(:id , 'create_room_form_button')
list = @browser.iframe(:id , 'iconsole-plugin-session_iframe__').div(:id , 'room_list')
rooms = []
list.as.each do | room |
rooms << room.attribute_value('data-room-id')
end
roomvalue = rooms.size.to_i
puts roomvalue
Watir::Wait.for_condition(10 , 2 , "Waiting for button to be present") {
createpress.present?
}
createpress.click
end
Then(/^the lobby will update to show the new room$/) do
list = @browser.iframe(:id , 'iconsole-plugin-session_iframe__').div(:id , 'room_list')
rooms = []
list.as.each do | room |
rooms << room.attribute_value('data-room-id')
end
puts rooms.size.to_i
end
我只是不确定如何让2个输出显示我正在寻找的信息(增加1)
答案 0 :(得分:0)
您需要设置一个实例值,以便逐步保持房间大小。 (注意:在ruby-Cucumber中,一切都在World内部运行,因此这是您设置实例变量的对象,并且您的World在stepdef中保持不变)。
作为奖励,您可以使用rspec的期望gem来提供更自然的英语编写代码方式。
When(/^I click the create room button$/) do
..snip..
@current_rooms = rooms
..snip..
end
Then(/^the lobby will update to show the new room$/) do
..snip..
updated_room_list = rooms
updated_room_list.should have(@current_rooms.size + 1).rooms
..snip..
end
以下是rspec's collection.should have
的信息注意:如果您并行运行测试套件并进行其他添加或删除房间的测试,则您的测试可能会遇到问题。最好确保新房间的名称出现在列表中并且房间数量是正确的,而不是检查是否有比上次更多的房间。