如何在代码中使用saveSessionSnapshot()销毁会话集?

时间:2017-05-09 05:12:12

标签: php session-variables codeception

即使在退出后,会话仍然存在。

这是我的登录文件。

  

公共功能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. 安装类型:Composer 已安装的软件包列表(作曲家节目)我正在使用lucatume / wp-browser软件包进行代码验证

这是我的套件配置:

  

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'

这很好但我没有注销但在某些测试用例中,我需要注销才能验证一些断言。在那里它产生了问题。

这是一个错误吗?我们不能在注销时销毁会话吗?

1 个答案:

答案 0 :(得分:0)

您可以在Codeception测试中使用纯PHP函数。 如果你从测试中调用它,这应该可以工作:

unordered_map<int> hash;
hash.insert(5);

if ( hash.find(5) == true)
{
  cout << "Okay, got it. It's in the hash table." << endl;
}