我刚开始使用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()没有做任何事情,因为测试在最后一步失败了。我使用它错了还是有另一种方法可以做到这一点?我非常感谢你对此的帮助!
答案 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