我想从一个步骤传递2个字符串,如下面的代码所示:
testfeature.feature
Then Enter Text 'fName' <fname>
Then Enter Text 'mName' <mname>
Then Enter Text 'lName' <lname>
Examples:
| fname | mname | lname |
| FnameTest | FnameTest | FnameTest |
Run Code Online (Sandbox Code Playgroud)
testfeature.rb
Then /^Enter Text (.*) (.*)$/ do |fieldId|value|
@browser.text_field(:id, fieldId).set(value)
end
Run Code Online (Sandbox Code Playgroud)
这里fname/lname/mname取自Examples,我将页面元素传递给单引号字符串.
由于我是Ruby/Cucumber/Watir的新手,我无法理解应该如何处理它.
请注意 -
以前我为所有3个步骤编写了一个单独的正则表达式,但是为了优化我正在尝试这种方法.
期待所有快乐的想法:)
Ruby块参数用,,而不是|.Ruby将解析你所写的内容
Then /^Enter Text (.*) (.*)$/ do |fieldId|
value | @browser.text_field(:id, fieldId).set(value)
end
Run Code Online (Sandbox Code Playgroud)
要修复它,请使用逗号:
Then /^Enter Text (.*) (.*)$/ do |fieldId, value|
@browser.text_field(:id, fieldId).set(value)
end
Run Code Online (Sandbox Code Playgroud)