1

小数値を使用している基本的なキュウリのシナリオの概要があります。

Given I have clicked the Search Button
When I select <MinEngineSize> and <MaxEngineSize> dropdown fields from the Engine size filter
And I click the Show results button 
Then the search results are displayed

例:

|MinEngineSize|MaxEngineSize|
|1.1 Litres|1.6 Litres| 

/^I が (\d+).(\d+) リットル と (\d+).(\d+) リットル ドロップダウン フィールドをエンジン サイズ フィルタから選択すると$/ do |arg1, arg2, arg3, arg4|

.rb ファイルを実行すると、次のエラーが表示されます。

選択リストに「1」が見つかりません (Watir::Exception::NoValueFoundException)

ruby で 10 進数値を 1 つの引数として扱うようにするにはどうすればよいですか? おそらく初心者の間違いですが、それは私のレベルです。

ありがとう!

4

1 に答える 1

2

Cucumberによって提案されたステップ定義を使用していると思いますか?これらは、使用しているデータに対して常に正しいとは限らないため、ステップ定義の正規表現を微調整する必要がある場合があります。

あなたが欲しい:

When /^I select (.+) Litres and (.+) Litres dropdown fields from the Engine size filter$/ do |arg1, arg2|

正規表現のチュートリアルが必要な場合は、これがかなり良いと思います-http ://www.regular-expressions.info/tutorial.html

arg1とarg2は文字列になることに注意してください。小数として使用する場合は、を使用して変換する必要がありますto_f()。例えば:

When /^I select (.+) Litres and (.+) Litres dropdown fields from the Engine size filter$/ do |arg1, arg2|
  numeric_arg1 = arg1.to_f
  numeric_arg2 = arg2.to_f

アップデート

Watirを使用してドロップダウンから値を選択しようとしているようです。その場合、実際にはarg1を「1.1」ではなく「1.1リットル」にしたいのではないかと思います。その場合は、括弧内にリットルを含める必要があります。

When /^I select (.+ Litres) and (.+ Litres) dropdown fields from the Engine size filter$/ do |arg1, arg2|
于 2012-07-17T20:41:43.697 に答える