我正在使用Java中的webdriver編寫測試。 有沒有辦法在windows的無框模式下運行瀏覽器(ff/ie)?是否有可能在windows系統中以無頭模式運行瀏覽器?
我不能使用Linux的盒子和HtmlUnitDriver沒有幫助,因爲我們的Web應用程序有許多Ajax控件。
我正在使用Java中的webdriver編寫測試。 有沒有辦法在windows的無框模式下運行瀏覽器(ff/ie)?是否有可能在windows系統中以無頭模式運行瀏覽器?
我不能使用Linux的盒子和HtmlUnitDriver沒有幫助,因爲我們的Web應用程序有許多Ajax控件。
HtmlUnitDriver支持ajax,並且可以在java和c#中運行(如果通過IKVM移植)。 但是,無法在無頭模式下運行IE和FF。我不能告訴你我有多少次希望...
Thx用於確認它。 HtmlUnitDriver的限制是我們開始使用FF驅動程序的原因。 – dmp
IE和Firefox在無頭模式下運行得很好。 –
將測試程序作爲Windows服務啓動,即使在沒有監視器的計算機上,瀏覽器也能正常運行。從技術上講,他們正在運行一個不連接的「會話」,但它本質上就是「無頭」的意思。
這完全不一樣。無頭的意思是,沒有時間花費視覺渲染網頁(即使看不到它,因爲沒有監視器),這會消耗更少的資源,這反過來意味着測試運行速度更快。如果你曾經試過並行運行多個測試(比如負載測試),你就會知道真正的無頭瀏覽器的價值。 – Anders
是否也可以在Windows上使用硒網格(「硒節點」)作爲服務並讓它在需要時啓動瀏覽器(特別是IE),而無需任何登錄)?如何才能做到這一點? – jfpoilpret
此時沒有無頭版本,我知道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
我已經開始使用SimpleBrowser爲WebDriver提供驅動程序的小型項目。你可能想看看:https://github.com/Teun/SimpleBrowser.WebDriver
雖然它還處於早期階段。我會很感激捐款和測試的幫助。
HtmlUnitDriver的ajax結果與普通瀏覽器(FF,Chrome等)完全不同。如果您的網站是一個沉重的ajax網站,您最好不要使用HtmlUnitDriver。 – maguschen