2012-01-25 51 views
1

我有一组硒2个测试(使用chibimagic的PHP绑定)开始完全运行在Firefox和其他浏览器(PHPUnit的),实际上每次都创建一个新的配置文件的测试运行。清理Cookie无论Internet Explorer的测试与硒2 PHP的webdriver

使用Internet Explorer不会发生这种情况,浏览器保持每当一个新的测试运行的所有Cookie。我当然可以撤销在测试中会话中做过的任何事情(注销等),但这会增加测试的运行时间(不合意)。

我想发生这样的是Internet Explorer清洁饼干每一个新的测试运行时间。在每次测试之前,我尝试了$ this-> delete_all_cookies()和$ this-> driver-> delete_all_cookies,但似乎没有做任何事情。

我知道你可以设置desiredCapabilities这将假想启动一个干净的会议,但似乎并没有工作。我试过

$this->driver = WebDriver_Driver::InitAtHost("somehost.com" ,"4444", "internet explorer",array('ENSURING_CLEAN_SESSION' => true)); 

如果我在之前的一组测试中登录,我仍然会登录到新的一组集合中。

一些帮助将不胜感激。

回答

0

我能够使用IE的Web驱动程序服务器,并告诉它“的InPrivate”模式启动IE来解决这个问题的IE8 +。当启动服务器,使用类似的命令行:

IEDrvierServer_win32.ee /force-createprocess /ie-switches=-private

我不知道语法是在PHP的东西,但你需要使用远程网络驱动程序。

您可能还需要设置此注册表值:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] - TabProcGrowth = (DWORD)0

0

有一个函数调用复位()内Selenium2Driver.php将重置会话,从而消除所有的cookies。我在每次测试之前创建了一个给定情景步骤,这个步骤称为reset()。这里是代码:

/** 
* @Given /^I am not logged in$/ 
*/ 

public function iAmNotLoggedIn() { 
    $this->getSession()->getDriver()->reset(); 
} 

我知道这可能太晚,以帮助你,但希望它会帮助别人!

相关问题