单击按钮提交表单时Behat结束

时间:2015-05-07 19:22:31

标签: php symfony behat

我使用Symfony2并且我遇到了Behat的问题。我的情景是:

  

场景:添加表单
     何时访问路径" symfony_route_path "
     然后填写数据格式x
     然后按btn " id_btn_form_submit "

和上下文:

(类FormContext扩展DefaultContext,有点像 - > https://github.com/Sylius/Sylius/blob/master/src/Sylius/Bundle/ResourceBundle/Behat/DefaultContext.php

/**
 * @Then Fill data form x
 */
public function fillData()
{
    $this->fillField('field_x[name]', 'name');
    $this->fillField('field_y[address]', 'Address');
}

(类BaseContext扩展RawMinkContext)

/**
 * @Then Push btn :button
 */
public function pressBtn($button)
{
    $this->getSession()->getPage()->pressButton($button);
}

输出控制台执行“填充数据”x' (完全运行方法),但是 不显示'推btn'。 有人经历过类似的问题,可以帮助我吗?谢谢你。

2 个答案:

答案 0 :(得分:1)

试试这个:我点击“按钮”。

我遇到了一些问题并以这种方式解决了它

关于翻译,我不确定是否有最好的解决方案,但我会创建一个PortugueseContext并从那里调用你想要的方法,所以......

public class overrideMinkContextPortuguese extends MinkContext
{
    /*
    * @When Precionar botao :button
    */
    public function precionarBotao($button)
    {
        $this->pressButton($button);
    }

但可能有最好的方法......

答案 1 :(得分:0)

如下所示,您不必在上下文类中实现任何其他方法。

同时阅读此cheatsheet

Given I am on "url"
When I fill in "form_element" with "value"
Then I press "button"