2012-01-25 39 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(); 
} 

我知道這可能太晚,以幫助你,但希望它會幫助別人!

相關問題