虽然它应该被定义,但是未定义的步骤

时间:2013-07-12 03:05:15

标签: php windows selenium-webdriver behat mink

我在windows7上使用behat ..这是今天我奋斗的第四天......我写了一个功能

#homepage.feature

Feature: To test the Home page loads successfully.

Scenario:
     Given I am in a session
     When I request the page "index.php"
     Then I should get some content

并定义了步骤

 /**
 * @Given /^I am in a session$/
 */
public function iAmInASession() {
    $driver = new \Behat\Mink\Driver\Selenium2Driver(
            'firefox', 'base_url'
    );

    global $session;
    $session = new \Behat\Mink\Session($driver);

    // start session:
    $session->start();

}

/**
 * @When /^I request the page "([^"]*)"$/
 */
public function iRequestThePage($page)
{
    global $session;

    $session->visit($page);


}

/**
 * @Then /^I should get some content$/
 */
public function iShouldGetSomeContent()
{
    global $session;
    if( $session->getPage()->getContent() )
        echo $session->getPage()->getContent();
    else
        throw new Exception("The page couln't load successfully!");
}

它还向我展示了147个未定义的场景和878个未定义的步骤,其中一些步骤在FeatureContext.php中定义

请帮助!!!

1 个答案:

答案 0 :(得分:1)

对不起,我犯了几个错误....我没有创建功能目录,而是将我的功能添加到vendor \ behat \ behat \ features目录和供应商的步骤定义\贝哈特\贝哈特\设有\引导\ FeatureContext.php

为了使其工作,我必须通过键入在项目的根目录中创建功能目录 vendor \ behat \ behat \ bin \ behat --init in command prompt

所有功能都应该驻留在此目录中,步骤应该放在root \ features \ bootstrap \ FeatureContext.php

此外,uri应该是'http://'.localhost/Project/.$page in $ session-> visit()

希望这有助于某人!