Първо, не мисля, че трябва да има знак @ пред вашето „Кога“, ако използвате 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 там, но тъй като това е стъпка Gherkin, всъщност нямате нужда от него. Изглежда, че в момента се опитвате да получите нещо, което не е двойни кавички. Не е необходимо да правите това, тъй като 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 на Richard Lawrence Cheatsheet много полезен. Там ще намерите повечето модели, от които се нуждаете. Ако имате нужда от по-сложни модели, можете да помислите дали е по-добре да направите тази оценка във вашия код за дефиниране на стъпки.
person
Doug Noel
schedule
16.04.2012