2014-07-07 71 views
0

我今天剛剛開始關注Selenium,所以如果我錯過了明顯的東西,請耐心等待。我正在嘗試構建一個小型Windows服務,可以監控幾個網站,檢查它們是否正常運行並檢查它們的性能(例如,我們注意到CDN最近運行緩慢)。到目前爲止,我已經包括了我認爲是正確的NuGet依賴關係:無需啓動瀏覽器窗口即可運行

  • 硒的webdriver
  • 硒WebDrive支持類
  • Selenium.WebDriver.ChromeDriver

然後一個非常簡單的部分代碼測試:

using (var driver = new ChromeDriver()) 
{ 
    driver.Navigate().GoToUrl("http://www.google.com"); 
} 

這工作正常,我可以在多個線程上運行此,在他們周圍包裹秒錶等,但我注意到的一個問題是,這實際上啓動了一個瀏覽器對話框 - 而我真的想運行在「無頭」或「無窗口」模式。我不能SimpleBrowserDriver,但這並沒有提出額外的請求來抓取所有相關的CSS & JavaScript進行性能監控。

+0

請參閱[this](http://www.chrisle.me/2013/08/running-headless-selenium-with-chrome/)和[this](http://www.installationpage.com/selenium/)如何運行selenium-headless-firefox-in-ubuntu /),它們可能是相關的。 – qqbenq

+0

@qqbenq:我看過那些,我不認爲他們是。我相信我基本上是在C#中做第一個,我不知道如何將第二個翻譯成我在做的事 – Ian

回答

0

聽起來你正在尋找類似phantomjs的東西,或者你可以嘗試通過像BrowserStack這樣的服務來運行你的測試。 Phantomjs是一款無頭瀏覽器,您可以從腳本啓動,併爲您提供您正在尋找的背景瀏覽。 BrowserStack是您可以通過其路由您的測試的一對夫婦服務之一;他們在後臺處理瀏覽器,同時仍提供查看屏幕截圖和運行日誌的功能。 BrowserStack提供免費試用,但後來是付費服務,所以如果Phantomjs適合您的目標,它可能是更好的選擇。

+0

Andrew - 我想通過Windows服務運行它,但是,將結果記錄到數據庫,通知我該網站花了多長時間作出迴應 – Ian

0

HTMLUNIT或PhantomJS將是您理想的解決方案,我們也有類似的無頭框架構建基於CMS的WebApps。 但PhantomJS和HTMLUnits不處理本地瀏覽器警報,並依賴測試將失敗。 BrowserStack是一個很好的解決方案,但是很多都會被考慮在編寫測試腳本時,比如更明確的等待,因爲他們的機器可能會很痛苦,特別是在重新編寫Java腳本時,這往往會減慢測試速度,有時會失敗。

我們設計了所有相關的日誌,截圖和響應時間來加載頁面以保存併發送到本地訪問,我相信您也可以輕鬆地將其存儲到數據庫中。

相關問題