2011-12-13 83 views
0

我正在使用Java中的webdriver編寫測試。 有沒有辦法在windows的無框模式下運行瀏覽器(ff/ie)?是否有可能在windows系統中以無頭模式運行瀏覽器?

我不能使用Linux的盒子和HtmlUnitDriver沒有幫助,因爲我們的Web應用程序有許多Ajax控件。

+0

HtmlUnitDriver的ajax結果與普通瀏覽器(FF,Chrome等)完全不同。如果您的網站是一個沉重的ajax網站,您最好不要使用HtmlUnitDriver。 – maguschen

回答

-1

HtmlUnitDriver支持ajax,並且可以在java和c#中運行(如果通過IKVM移植)。 但是,無法在無頭模式下運行IE和FF。我不能告訴你我有多少次希望...

+0

Thx用於確認它。 HtmlUnitDriver的限制是我們開始使用FF驅動程序的原因。 – dmp

+0

IE和Firefox在無頭模式下運行得很好。 –

0

將測試程序作爲Windows服務啓動,即使在沒有監視器的計算機上,瀏覽器也能正常運行。從技術上講,他們正在運行一個不連接的「會話」,但它本質上就是「無頭」的意思。

+1

這完全不一樣。無頭的意思是,沒有時間花費視覺渲染網頁(即使看不到它,因爲沒有監視器),這會消耗更少的資源,這反過來意味着測試運行速度更快。如果你曾經試過並行運行多個測試(比如負載測試),你就會知道真正的無頭瀏覽器的價值。 – Anders

+0

是否也可以在Windows上使用硒網格(「硒節點」)作爲服務並讓它在需要時啓動瀏覽器(特別是IE),而無需任何登錄)?如何才能做到這一點? – jfpoilpret

1

此時沒有無頭版本,我知道Firefox或IE。由於Firefox是開源的,因此您可以獲得該瀏覽器的源代碼,然後刪除UI部分,但是我可以看到它存在一些問題。首先,您必須構建一個自定義應用程序來設置您自己的負載測試引擎。其次,您被鎖定到一個網絡渲染,但我認爲chrome也是開源的,但它並不像Firefox或IE(使用系統.dlls與自定義可執行文件)那麼好。第三,沒有太多的測試,我相信會有穩定性問題和潛在的其他未預見到的問題。這就是說有一個.net無頭瀏覽器是相當簡單的,並且可能適合稱爲簡單瀏覽器的負載測試。然而這取決於你想要加載的內容。如果你只是尋找帶寬和服務器負載,那麼你應該找到使用瀏覽器的多個實例。如果你實例化了不同的WebDriver,如果它可以很好地播放,我會很好奇知道如果以這種方式使用無頭瀏覽器。即

WebDriver driver1 = new SimpleBrowser(); 
WebDriver driver2 = new SimpleBrowser(); 
. 
. 
. 
. 
. 
WebDriver driver[n] = new SimpleBrowser(); 

然後你可以運行[n]個並行測試。在上面的代碼中還要注意SimpleBrowser()不直接掛接到WebDriver接口,您將不得不擴展接口以引用該.dll

+0

SimpleBrowser很棒,我用它來進行負載測試,它的功能非常好。它不支持JavaScript或Ajax,所以它可能無法在這種情況下工作... – Anders

+0

@Anders啊是的,我忘了這一點。另一方面,SimpleBrowser是開源的,所以如果你感覺活潑,真的想要它的工作,你可以始終建立在你的支持javascript和ajax – CBRRacer

+0

我一直想這樣做一段時間......但在哪裏找到時間? :) – Anders

相關問題