Cucumber/Watir のエスケープ文字で私が抱えている問題について、誰かが私を助けてくれることを望んでいました。
テストのセットアップを自動化しました。検索を実行するとき、検索が正しい結果を返したことを確認するために使用するアサーションの 1 つは、ページのテキストをチェックすることです。したがって、私のコードは次のようになります。
Then /^I should see the following text: "([^"]*)"$/ do |str|
assert @browser.text.include?(str)
end
ここでは、文字列変数で検索するテキストを渡します。例: ナイキ、リーボックなど
したがって、私の機能ファイルでは、ステップは次のようになります。
Then I should see the following text "search results for nike"
これは、1つの問題を除いて正常に機能します。私がテストしているサイトの 1 つは、検索語を二重引用符で囲むことにしました。つまり、「nike」の検索結果です。
その結果、検索用語の一部として引用符を含める必要があるため、これは私のテストを台無しにします。したがって、nike という単語をエスケープ引用符で囲む必要があります。そうしないと、cucumber が nike という単語の前後の最初の引用を終了引用符として認識します。(その前にすでに二重引用符があるため)
さまざまなエスケープ文字を試しましたが、何も機能しないようです。たとえば、次のことを試しました。
\" – double quote
\\ – single backslash
誰かが同様の問題を経験したことがありますか? もしそうなら、どのように問題を解決しましたか?
ありがとう!