Codeception:[RuntimeException]调用未定义的方法AcceptanceTester::wait
Codeception: [RuntimeException] Call to undefined method AcceptanceTester::wait
我正在使用 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
有什么问题?
将class_name: WebGuy
更改为class_name: AcceptanceTester
我在缺少 wait()
方法时遇到了类似的问题。问题是我使用 PhpBrowser
而不是 WebDriver
,而 PhpBrowser
不提供该方法。在你的测试器中自己实现它是微不足道的 class:
public function wait($seconds) {
sleep($seconds);
}
我正在使用 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
有什么问题?
将class_name: WebGuy
更改为class_name: AcceptanceTester
我在缺少 wait()
方法时遇到了类似的问题。问题是我使用 PhpBrowser
而不是 WebDriver
,而 PhpBrowser
不提供该方法。在你的测试器中自己实现它是微不足道的 class:
public function wait($seconds) {
sleep($seconds);
}