2013-06-25 27 views
3

我使用watir-webdriver + ruby​​ + win7來測試相同的頁面。如何刪除ie網絡驅動程序的日誌?

Started InternetExplorerDriver server (32-bit) 
2.32.3.0 
Listening on port 5555 

有什麼方法來消除這些日誌:雖然我用的Watir-的webdriver啓動IE瀏覽器,我會得到這些日誌?任何幫助,將不勝感激!

回答

2

IEDriver支持--silent標誌,該標誌在啓動服務器時會抑制診斷輸出。

不幸的是,至少就我所知,它創建一個瀏覽器實例時是不可配置。相反,您需要直接修改Selenium :: Webdriver :: IE :: Server類的方法server_args。您可以直接修改lib\selenium\webdriver\ie\server.rb文件,但它可能更容易猴子補丁。

猴子修補沉默的標誌,需要的Watir-的webdriver(即硒的webdriver)之後,但在打開瀏覽器之前添加以下代碼中的某個點。

class Selenium::WebDriver::IE::Server 
    old_server_args = instance_method(:server_args) 
    define_method(:server_args) do 
     old_server_args.bind(self).() << "--silent" 
    end  
end 

例如,以下將不再記錄任何消息。

require 'watir-webdriver' 

class Selenium::WebDriver::IE::Server 
    old_server_args = instance_method(:server_args) 
    define_method(:server_args) do 
     old_server_args.bind(self).() << "--silent" 
    end  
end 

b = Watir::Browser.new :ie 
+0

非常感謝你,它現在的作品!我可以問你另一個問題嗎?有沒有任何方法可以刪除Chrome網頁驅動程序的日誌?我很困惑這些日誌問題,再次感謝你。 – Mark

+0

是的,chromedriver是相似的。我組建了一個博客帖子 - [開始webdrivers當沉默的診斷輸出(http://jkotests.wordpress.com/2013/06/26/silencing-diagnostic-output-when-starting-webdrivers/) –

+0

它幫助我很多,非常感謝你! – Mark