如何为behat场景定义参数

时间:2014-03-12 11:26:59

标签: bdd behat

在behat场景中有没有办法使用参数变量/变量?

例如:

Scenario: Description
    Given I am on "https://{{company_name}}.example.com/"
    When I click on "xxxxx"
    And I wait 2 seconds
    Then I should see {{company_name}}

和behat.yml

default:
    extensions:
        Behat\MinkExtension\Extension:
            goutte: ~
            selenium2: ~

companyX:
    params:
        company_name: XXX
    extensions:
        Behat\MinkExtension\Extension:

companyY:
    params:
        company_name: YYY
    extensions:
        Behat\MinkExtension\Extension:

我考虑使用一些模板引擎并分别渲染每组测试,但也许有更简单的解决方案。

1 个答案:

答案 0 :(得分:0)

您无法将参数传递给.feature文件。 只需将配置放在behat.yml中。 而不是使用步骤:

Given I am on "https://{{company_name}}.example.com/"

使用:

Given I am on homepage

在behat.yml:

中设置'base_url'的网址
default:
    extensions:
        Behat\MinkExtension\Extension:
            goutte: ~
            selenium2: ~

companyX:
    extensions:
        Behat\MinkExtension\Extension:
            base_url: https://companyx.example.com/

companyY:
    extensions:
        Behat\MinkExtension\Extension:
            base_url: https://companyy.example.com/

然后取决于你如何运行behat:

behat --profile companyX
behat --profile companyY

将使用不同的网址。

有关此内容的更多信息: http://docs.behat.org/guides/7.config.html#context