2015-10-22 2 views
6

Я пытаюсь проверить проект, но не в состоянии проверить страницу входа в систему из-за этой ошибки:Codeception AcceptanceTester :: loadSessionSnapshot неопределен

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

И моя конфигурация подобна этому

# 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 

Я сгенерировал это с использованием th Команда

codecept.bat generate:cept acceptance loginTest 

ответ

3

Там нет такого метода в PhpBrowser модуле электронной командной строка, метод loadSessionSnapshot предоставляется только WebDriver.

Не используйте exit() в тестах, он также убивает Codeception. Вместо этого используйте метод пропуска.

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

PhpBrowser может получить поддержку скоро: https://github.com/Codeception/Codeception/pull/3321#issuecomment-231206894 –

Смежные вопросы