我正在尝试在测试之前设置cookie但由于某种原因它们没有设置。
这是我的示例代码:
class WebTest extends PHPUnit_Extensions_Selenium2TestCase
{
protected function setUp()
{
$this->setBrowser('firefox');
$this->setBrowserUrl('http://dev.local/');
}
public function testTitle()
{
$session = $this->prepareSession();
$session->cookie()->remove('language_version');
$session->cookie()->add('language_version', 'en')->set();
$this->url('/');
$this->assertEquals('Title in English', $this->title());
}
}
有谁知道怎么做?任何帮助非常感谢。
答案 0 :(得分:1)
我在Selenium文档中找到了我的问题的答案:
如果您在开始与网站交互之前尝试预设Cookie并且您的主页很大/需要一段时间才能加载替代方法,那就是在网站上找到一个较小的网页,通常404页面很小({{3 }})
现在我的测试看起来像这样:
$this->url('/unit_tests.php');
$this->cookie()->remove('language_version');
$this->cookie()->add('language_version', 'en')->set();
$this->url('/');
$this->assertEquals('Title in English', $this->title());
/unit_tests.php
是一个空的PHP文件,它允许我最初设置页面的cookie。
答案 1 :(得分:0)
cookie不应该存在,因此删除将失败。 Selenium在每次运行测试套件时使用新的空配置文件运行浏览器。 。