2011-03-24 32 views
1

我正在Firefox上運行Webdriver的Web應用程序運行一些Java測試,試圖驗證「保持我登錄」按鈕的功能。每次啓動新瀏覽器時,都會使用新的配置文件完成此操作。有沒有一種方法可以指示它使用與之前相同的配置文件打開新的瀏覽器,即登錄並按下「保持登錄狀態」的瀏覽器?如果這個問題沒有道理,我很抱歉,我在這方面還是有點新的。Webdriver - 使用相同的配置文件打開一個新的瀏覽器

感謝,

拉格納

回答

1

這是目前不可能。每次啓動瀏覽器時,WebDriver都會使用新的配置文件(儘管您可以使用現有的配置文件作爲模型)。您可以將文件在Selenium tracker

1

功能要求可以使用FirefoxProfile與現有的配置文件:

FirefoxProfile profile = new FirefoxProfile(path to profile dir); 
WebDriver driver = new FirefoxDriver(profile); 
+0

謝謝,但這沒有幫助。我絕對需要使用新的配置文件登錄,並且每次點擊「保持登錄狀態」按鈕,然後使用相同的配置文件加載新頁面。 – Ragnar 2011-04-04 08:22:55

+0

@Ragnar - 最後的評論與你在原始問題中提出的問題相沖突。在你的原始問題中,你問是否有重用配置文件的方法,然後在這個評論中你說「我絕對需要一個新的配置文件登錄」。那麼,它是什麼?你真正想要的是什麼?對我來說,ZloiAdum的這個答案在我看來是正確的答案。你也可以複製一個新的配置文件,然後專門引用它,如果你想。 – djangofan 2013-05-20 23:39:30

+0

@djangofan:我問了這個問題已經有兩年了,但我覺得我對這個評論還不夠清楚。如果我沒有記錯,我需要的是每次運行「Keep Me登錄」測試時使用新配置文件,即New Profile點擊Keep Me登錄,登錄,關閉瀏覽器,重新啓動瀏覽器,驗證Keep我登錄正常工作,關閉瀏覽器並放棄配置文件。沖洗並重復。 使用現有的配置文件會與該項目的測試需求衝突。 – Ragnar 2013-09-24 13:36:22

1

你不能做到這一點與獲得新的webdriver實例。 但你可以做到這一點與JavaScript作爲下面

((JavascriptExecutor)webDriver).executeScript("window.open('"+ConfigLocator.getTargetServer()+"', '_blank');"); 
1

首先,像雅立說,這是可以使用現有的配置文件作爲模型。這意味着沒有特定的數據,如收藏夾,歷史,主頁將真正加載。但是有可能爲驅動程序設置一些特殊的系統屬性。

webdriver.reap_profile 

應該是「真」,如果臨時文件和配置文件不應該刪除

System.setProperty("webdriver.reap_profile", "true"); 

最有可能是使用那種解決方案,您的情況也有可能。

相關問題