2017-05-09 77 views
0

即使註銷後,會話仍保持活動狀態。如何在codeception中使用saveSessionSnapshot()銷燬會話集?

這是我的登錄文件。

公共職能loginAsAdmin($ wpUserName,$ wpPassword){

$I = $this->tester; 

$I->amOnPage('/wp-admin'); 

if ($I->loadSessionSnapshot('login')) { 
    return; 
} 

$I->seeElement(self::$wpUserNameField); 
$I->fillfield(self::$wpUserNameField, $wpUserName); 

$I->seeElement(self::$wpPasswordField); 
$I->fillfield(self::$wpPasswordField, $wpPassword); 

$I->seeElement(self::$wpSubmitButton); 
$I->click(self::$wpSubmitButton); 
$I->wait(5); 

$I->saveSessionSnapshot('login'); 

}

詳細

Codeception版本:2.2.10 PHP版本: 操作系統: OS X 安裝類型:作曲者 列表insta大會另作包(作曲家顯示)我使用lucatume/WP-瀏覽器軟件包codeception

這是我的套房配置:

CLASS_NAME:AcceptanceTester模塊:

enabled: 
    - \Helper\Acceptance 
    - WPWebDriver 
config: 
    WPWebDriver: 
     host: 'hub-cloud.browserstack.com' 
     port: 80 
     browser: 'firefox' 
     url: '' 
     adminUsername: '' 
     adminPassword: '' 
     adminPath: '/wp-admin' 
     capabilities: 
      'browserstack.user': '' 
      'browserstack.key': '' 
      'os': 'OS X' 
      'os_version': 'sierra' 
      'browserstack.debug': 'true' 

這工作正常我不註銷,但在某些測試案例中,我需要註銷才能驗證某些斷言。它會造成問題。

這是一個錯誤?我們不能在註銷後銷燬會話嗎?

回答

0

您可以在Codeception測試中使用純PHP函數。 這應該工作,如果你從測試中調用它:

session_destroy(); 
+0

我actaully找到了工作,對同一。 :)只有使用session_start() –

+0

創建的會話才能使用此功能銷燬會話如果您找到解決方案,請將其作爲答案發布。 :) – sunomad

+0

這就是我使用的後備參數。當我想保存會話時,我通過了第三個參數。 public function loginAsAdmin($ wpUserName,$ wpPassword,** $ saveSnapshot = true **) { $ I = $ this-> tester; $ I-> amOnPage('/ wp-admin'); if($ I-> loadSessionSnapshot('login')&& $ saveSnapshot){ return; } –