2015-10-22 14 views
6

Tôi cố gắng để thử nghiệm một dự án nhưng không thể kiểm tra trang đăng nhập do lỗi này:Codeception AcceptanceTester :: loadSessionSnapshot là undefined

[RuntimeException] Call to undefined method AcceptanceTester::loadSessionSnapshot

Đây là mã của tôi:

<?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'); 

Và cấu hình của tôi giống như thế này

# 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 

Tôi đã tạo điều này bằng cách sử dụng e lệnh

codecept.bat generate:cept acceptance loginTest 

Trả lời

3

Không có phương pháp như vậy trong PhpBrowser mô-đun commandline, phương pháp loadSessionSnapshot chỉ được cung cấp bởi WebDriver.

Không sử dụng exit() trong các thử nghiệm, nó cũng giết chết Codeception. Sử dụng phương thức bỏ qua thay thế.

if($I->loadSessionSnapshot('loggedin')) { 
    $scenario->skip('Already logged in'); 
} 
+0

các PhpBrowser có thể nhận được sự hỗ trợ sớm: https://github.com/Codeception/Codeception/pull/3321#issuecomment-231206894 –

Các vấn đề liên quan