使用Codeception删除cookie

时间:2014-05-22 10:04:20

标签: php cookies acceptance-testing codeception

我刚开始使用Codeception在PHP中为我的登录应用程序编写验收测试。我需要做的是删除已经设置的cookie并且我一直在使用resetCookie()来执行此操作,但它不起作用。

这是我的代码:

$I = new WebGuy($scenario);
$I->wantTo('ensure that login page is correct');
$I->amOnPage('/');
$I->click("Log in");
$I->see("cookie");
$I->resetCookie("test");
$I->reloadPage();
$I->dontSee("cookie");

所以基本上我在点击登录按钮时在我的应用程序中设置了一个cookie,如果该cookie存在,我会在网站上回显一个字符串" cookie"。在浏览器中删除cookie并重新加载页面时," cookie"字符串消失。这是测试试图模仿的内容。

出于某种原因,resetCookie()没有做任何事情,因为测试在最后一步失败了。我使用它错了还是有另一种方法可以做到这一点?我非常感谢你对此的帮助!

1 个答案:

答案 0 :(得分:1)

您的测试100%工作。

还可以尝试:

$I->setCookie('test','cookie text');
$I->seeCookie('test');
$I->resetCookie('test');
$I->seeCookie('test');

如果上述测试通过,那么其他可能阻止您在正在测试的页面上设置cookie。

我使用Webdriver测试过。 这是我的配置文件。

class_name: WebGuy
modules:
    enabled:
        - WebDriver
        - WebHelper

    config:

        WebDriver:
          url: http://www.example.com 
          host: localhost 
          port: 4444
          browser: firefox 
          delay: 1000