Метод click_button (), который Cucumber использует для «Когда я нажимаю ...», принимает один из трех параметров (текст, имя, идентификатор). Вы можете просто различать кнопки, используя атрибут id или name, чтобы указать либо.
<input type="submit" value="Save and close" name="commit" id="close_after_save"/>
<input type="submit" value="Save" name="commit" id="save"/>
Тогда скажи:
When I press "save"
When I press "close_after_save"
В качестве альтернативы, вы можете заключить каждую кнопку в div.
<div id="save_and_close">
<input type="submit" value="Save and close" name="commit"/>
</div>
<div id="save">
<input type="submit" value="Save" name="commit" id="save"/>
</div>
Затем вы можете использовать метод click_button ():
When /^I press "([^\"]*)" within "([^\"]*)"$/ do |button,scope_selector|
within(scope_selector) do
click_button(button)
end
end