dongzhuoxie1244 2016-09-21 05:02
浏览 64

Behat错误 - 步骤已定义

Here is my feature file Feature: As a visitor I should be able to load the home page

  @javascript @program
  Scenario: View first page
    When I fill in the following:
      | username | myusername |
      | password | mypass |
    And press "Login"
    Then I should see "Dashboard"
    Then I go to "/programs/list"

My composer.json is as following:

{
    "require": {
        "behat/mink-extension": "^2.2",
        "behat/mink-goutte-driver": "^1.2",
        "behat/mink-selenium2-driver": "^1.3"
    }
}

my behat.yml file is as:

default:
  extensions:
    Behat\MinkExtension:
      base_url: http://myURL.com
      selenium2: ~
      browser_name: 'chrome'
  suites:
      defaults:
          contexts:
              - FeatureContext
              - Behat\MinkExtension\Context\MinkContext

My FeatureContext.php file is as

class FeatureContext extends MinkContext implements Context, SnippetAcceptingContext
{
   //
    /**
     * Initializes context.
     *
     * Every scenario gets its own context instance.
     * You can also pass arbitrary arguments to the
     * context constructor through behat.yml.
     */
    public function __construct()
    {
        $this->driver = new \Behat\Mink\Driver\Selenium2Driver('chrome');
        $this->session = new \Behat\Mink\Session($this->driver);
        $this->session->start();
    }
    public function iAmOnHomepage($arg1)
    {
        $this->getSession()->visit($this->locatePath('http://myURL.com'));
    }
    /**
     * @When |I fill in :arg1 with :arg2
     */
    public function iFillInWith($username, $password)
    {
        $MinkContext = new MinkContext;
        $MinkContext -> assertFieldContains ("username" , $username);
        $MinkContext -> assertFieldContains ("password" , $password);
        $this->driver->close();
    }
}

I get this following error:

 FeatureContext::iAmOnHomepage()  
 Behat\MinkExtension\Context\MinkContext::iAmOnHomepage() And press
 "Login"   Step "/^(?:|I )am on (?:|the )homepage$/" is already defined
 in FeatureContext::iAmOnHomepage()
  • 写回答

3条回答 默认 最新

  • doudou2121 2016-09-21 07:08
    关注

    Rename public function iAmOnHomepage($arg1) info something, for example, public function IAmAtHomepage($arg1)

    Or put annotation to iAmOnHomepage

    /**
     * @When I am on Homepage with :arg1
     */
    

    The problem right now seems to be that auto-parsing of function name into condition conflicts with internal condition Behat\MinkExtension\Context\MinkContext::iAmOnHomepage()

    评论

报告相同问题?

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)