2014-03-27 166 views
8

目前,我們的Web應用程序需要大約3分鐘才能完全加載,而不需要緩存,10秒需要緩存。當我通過WebDriver打開應用時,需要花費大約3分鐘來加載,即不使用緩存。我在Firefox和Chrome瀏覽器上觀察到了這一點。不知道如何啓用驅動程序來使用緩存,而不是每次打開應用程序時從服務器加載每個文件。在Firefox和Chrome瀏覽器中保留緩存 - Selenium WebDriver

這是我嘗試過的東西。 1.在瀏覽器設置中禁用瀏覽器退出時清除緩存。 2.設置 'applicationCacheEnabled' desiredcapabilitiy爲 '真'

DesiredCapabilities cap = DesiredCapabilities.firefox(); 

cap.setCapability("applicationCacheEnabled", "true"); 

WebDriver d = new FirefoxDriver(cap) 

但似乎沒有任何工作。請讓我知道如何讓webdriver使用緩存。

回答

5

問題是,硒將每次啓動時都複製一個新的(firefox/chrome)配置文件到臨時目錄並啓動firefox/chrome。 但是,可以始終對您的測試實例使用相同的配置文件。 我認爲這樣你可以更快地工作。

對於Firefox,你只需要做下列步驟操作:
1.裝入你的web應用中硒Firefox的實例,不要事後將其關閉(不driver.close();)。
2.然後轉到幫助 - >疑難解答信息並打開配置文件夾下的文件夾。
3.將其內容複製到測試代碼附近的新文件夾中。
4.在測試代碼中加載保存的配置文件。你可以這樣做:

FirefoxProfile profile = new FirefoxProfile(new File("profile/folder/path"));     
WebDriver driver = new FirefoxDriver(profile); 

我認爲你可以在鉻類似。

+0

你知道如何使用https://github.com/facebook/php-webdriver嗎? – gouchaoer

相關問題