如何使用DataTables中指定的不同值多次执行场景

时间:2014-06-02 09:28:44

标签: ruby cucumber watir-webdriver

我想根据以下结构中显示的代码中的数据表中的行数执行两次方案 -

testfeature.feature

Feature: Fill Form

@Test_Site_Registration
Scenario Outline: Verify the registration

Then Enter Text 'fName' <fname>
Then Enter Text 'mName' <mname>
Then Enter Text 'lName' <lname>
Then Submit

Examples:

| fname | mname | lname |
| FnameTest1  | FnameTest1  | FnameTest1  |
| FnameTest2  | FnameTest2  | FnameTest2  |

testfeature.rb

Then /^Enter Text (.*) (.*)$/ do |fieldId|value|
  @browser.text_field(:id, fieldId).set(value)
end

Then (/^Submit$/) do
  @browser.element(:xpath,"../../../btn-- a sample xpath").when_present.click_no_timeout
end

这里我想执行方案&#34;验证注册&#34;两次,因为我在数据表中传递了两个不同的值。

请注意 - 我已经写了2个不同的场景并执行了。 但是,为了优化和学习经验,我想知道这个答案。

提前谢谢!!

1 个答案:

答案 0 :(得分:1)

您可以尝试这样

Scenario Outline: Test Registration
Given Enter <fname>
Given Enter <mname>
Given Enter <lname>
Then Registration Process
Then Verify Registration
Examples: 
|fname|mname|lname|
|f1|f1|f1|
|f2|f2|f2|

这意味着,对于示例中的每个新数据行,将重复所有GIVEN,WHEN,THEN步骤。