Codeception:[RuntimeException]调用未定义的方法AcceptanceTester :: wait

时间:2016-03-18 20:27:43

标签: laravel codeception acceptance-testing

我正在使用Codeception进行首次验收测试。

当我使用wait()waitForElement()运行测试时,收到此消息:

[RuntimeException] Call to undefined method AcceptanceTester::wait  

这是我的acceptance.yml

# Codeception Test Suite Configuration
#
# Suite for acceptance tests.
# Perform tests in browser using the WebDriver or PhpBrowser.
# If you need both WebDriver and PHPBrowser tests - create a separate     suite.

class_name: WebGuy
modules:
enabled:
    - WebDriver
    - \Helper\Acceptance
config:
    WebDriver:
        url: 'http://rh.dev'
        browser: 'firefox'

这是我的测试:

$I = new AcceptanceTester($scenario);
$I->wantTo('Register my profile for the first time');
$I->amOnPage('/register');
$I->fillField('name', $person->name);
$I->wait(3); // secs
$I->fillField('lastName', $person->lastName);

我是从 official doc

得到的

我也确保执行:

vendor/bin/codecept build

问题是什么?

2 个答案:

答案 0 :(得分:2)

我遇到了与丢失的wait()方法类似的问题。问题是我使用PhpBrowser而不是WebDriverPhpBrowser没有提供该方法。在测试器类中自己实现它是微不足道的:

public function wait($seconds) {
    sleep($seconds);
}

答案 1 :(得分:1)

System.getenv(); 更改为class_name: WebGuy