Во-первых, я не думаю, что перед вашим «Когда» должен быть знак @, если вы используете Ruby для определения шагов. Это может вызвать у вас проблемы (я не знаю). Если вы не используете Ruby, было бы полезно знать, какой язык вы используете для своих определений шагов.
Я могу рассказать вам, что я сделал с путем к файлу в кавычках:
When I upload invoice "C:\Ruby193\automation\myfile.txt"
Затем я использовал этот код:
When /^I upload invoice "(.*)"$/ do |filename|
@upload_invoice_page = UploadInvoicePage.new(@test_env)
@upload_invoice_page.upload_file(filename, 'BIRD, INC.')
end
Следуя этому примеру, в Ruby я бы попробовал этот код для вашего шага:
When /^ can see the "(.*)" page$/
Ваш код выглядит как Java, поэтому он может выглядеть примерно так:
@When("^I can see the \"(.*)\" page$")
Вы можете поместить туда более сложное регулярное выражение, но, поскольку это шаг огурца, вам это действительно не нужно. Похоже, в настоящее время вы пытаетесь получить что-то, что не является двойной кавычкой. Вам не нужно этого делать, так как Regex уже ищет открытую и закрытую цитату.
Имейте в виду, что вы также можете полностью избавиться от кавычек:
Then I can see the /relative-url-path page
@When("^I can see the (.*) page$")
Сохраняйте кавычки только в том случае, если считаете, что это более удобочитаемо для человека. Дополнительные сведения о регулярных выражениях
Чтобы сопоставить только числа, которые вы должны сделать:
Then I can see the 123456
@Then("^I can see the (\d*)$")
Я нашел Cucumber Regex Ричарда Лоуренса. Шпаргалка очень полезна. Там вы найдете большинство нужных вам шаблонов. Если вам нужны более сложные шаблоны, вы можете подумать, лучше ли вам выполнять эту оценку в коде определения шага.
person
Doug Noel
schedule
16.04.2012