我正在尝试测试项目但由于此错误而无法检查登录页面:
[RuntimeException] Call to undefined method AcceptanceTester::loadSessionSnapshot
这是我的代码:
<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('Login');
$I->amOnPage('/');
if($I->loadSessionSnapshot('loggedin')) exit();
$I->dontSee('NotFound');
//$I->dontSee('Error');
$csrf = $I->grabCookie('_token');
$I->submitForm('.form',array('login'=>array(
'username'=>'username',
'password'=>'*******'
)
));
$I->saveSessionSnapshot('loggedin');
$I->see('username');
Run Code Online (Sandbox Code Playgroud)
我的配置是这样的
# 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: AcceptanceTester
modules:
enabled:
- PhpBrowser:
url: http://myweb.com
- \Helper\Acceptance
Run Code Online (Sandbox Code Playgroud)
我使用命令行命令生成了它
codecept.bat generate:cept acceptance loginTest
Run Code Online (Sandbox Code Playgroud)
PhpBrowser模块中没有这样的方法, loadSessionSnapshot 方法仅由 WebDriver提供。
不要在测试中使用 exit(),它也会杀死 Codeception。改用skip方法。
if($I->loadSessionSnapshot('loggedin')) {
$scenario->skip('Already logged in');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |