我正在使用C#,使用Gallio/mbUnit編寫一組非常簡單的打開瀏覽器的測試,導航到google.com,在搜索框中鍵入「seleniumhq」並點擊搜索按鈕。帶有HtmlUnit節點的WebDriver Grid掛鉤節點CPU
我創造我的主機:
java -jar \"C:\\selenium-server-standalone-2.15.0.jar\" -role hub -port 4444
和我的節點有:
Java的罐子\ 「C:\硒服務器獨立-2.15.0.jar \」 - 角色節點 -hub的http:// [主機IP]:4444 /格/註冊-port 5556 -browser browserName =的HtmlUnit,平臺= ANY,版本=火狐,MAXINSTANCES = 1
創建我webdriver的情況下,我用:
驅動=新RemoteWebDriver( 「HTTP://本地主機:4444/WD /集線器」, DesiredCapabilities.HtmlUnitWithJavaScript());
我正在監視我的節點機器,並且當測試開始時,只有1次測試運行,CPU掛鉤到99%。等待搜索按鈕,顯示當我得到超時......它的存在,只是不可見,甚至40秒後:
var wait = new WebDriverWait(WebDriver, new TimeSpan(0, 0, 0, 40));
wait.Until(m => m.FindElement(By.Name("btnG")).Displayed);
爲什麼該元素是不可見的一貫的HtmlUnit什麼想法?
對於爲什麼CPU在100%或接近100%的情況下以及在遠程節點上HtmlUnit的內存峯值高達800,000K時有何想法?
我有複製相同的測試,以創建10個相同的測試,如果我刪除單擊搜索按鈕代碼,HtmlUnit測試需要65秒。此測試使用兩個節點,DegreeOfParallelism設置爲10,MaxInstances設置爲5,用於每個節點。當我使用與Chrome瀏覽器相同的參數運行相同的測試時,它們在35秒內運行,我沒有看到CPU變得瘋狂。有人對此有任何想法嗎? HtmlUnit應該是我讀過的4倍左右。我猜測我有什麼不對,應該是相當明顯的。
感謝您的一切幫助和建議。