まず、ステップ定義にRubyを使用している場合は、「When」の前に@記号を付ける必要はないと思います。これにより問題が発生する可能性があります(わかりません)。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$")
より複雑な正規表現をそこに入れることができますが、それはガーキンのステップなので、実際には必要ありません。現在、二重引用符ではないものを取得しようとしているようです。正規表現はすでにオープンとクローズの見積もりを探しているので、それを行う必要はありません。
引用符を完全に削除することもできます。
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*)$")
RichardLawrenceのCucumberRegexチートシートが非常に役立つことがわかりました。そこに必要なパターンのほとんどが見つかります。より複雑なパターンが必要な場合は、ステップ定義コードでその評価を行う方がよいかどうかを検討できます。