如何访问Behat方案大纲的示例值?

时间:2019-03-27 00:15:21

标签: php bdd behat

这确实应该是简单而直接的事情,但我无法在线找到任何答案。在Behat中使用场景大纲时,如何在测试中访问示例值?对于以下示例,我如何在测试中访问电子邮件地址?我的自动化测试基本上会在一个文本字段中填写一个电子邮件地址,因此我想知道如何在正在运行的此特定情况下使用email_value填充它?

Feature: Email validation
Background: Given I am on “www.somewebsite.com”
Scenario Outline: Confirm email validation

Given I fill in the email field with “”
When I submit the form
Then I should see “”

**Examples:**
|      |  |
|                   | A validation message that email is required|
| steve@            | A validation message that email must be valid |
| valid@email.com   | The review page |

这是我的测试用例正在调用的一个函数,它只是查找文本字段并填写电子邮件地址...而不是用“测试”填充它,我实际上想用我轮廓中的email_value填写它。如何从下面的函数中访问该值?

public function fillForm()
    {
         $element = $this->driver->findElement($this->emailTextField);
         $element->click();
         $element->sendKeys("testing");

         #Please review your response and confirm.
    }

2)与第二个问题相关的第二个问题是,我想检查submitting_result以查看它是否不包含“验证消息”一词,那么我知道这是一封成功(例如有效)的电子邮件,它将带我成功页面而不显示错误。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

这些是一些现成的定义步骤,您需要检查是否拥有所需的一切,如果不需要,则需要自己定义。

针对不同类型的参数

示例:
  I fill in "field" for "value"

该字段和字段作为参数传递给关联的方法,因此,如果要打印它们或将它们记录在某处,则需要访问该方法。

有关方案概述:

  Scenario Outline:
    Given I fill in "" with "value_placeholder"

    Examples:
      | field_placeholder | value_placeholder |
      | field_identifier  | actual_value      |

使用支持Behat和ctrl / command的编辑器,然后单击相应步骤并查看如何使用它们。