2012-05-22 25 views
1

我最近與一家公司合作,希望我使用WatiN製作一個.NET解決方案,該解決方案能夠自動捕獲其網站上的不同屏幕,如果瀏覽器被最小化或不可見,當我捕獲網頁圖像時,我遇到的問題是黑屏截圖。有沒有辦法解決這個問題或源代碼中的一個地方,我可以「修復」最小化瀏覽器的非呈現圖像,或者這只是我必須使用的限制嗎?WatiN在需要窗口打開時會出現一個錯誤,以便成功執行屏幕截圖

感謝您的幫助!

回答

2

我假設您正在使用Internet Explorer運行watin測試?如果是這樣,請嘗試將測試站點添加到IE的受信任站點列表中。

我一般使用Nunit進行Watin Integration測試通過/失敗檢測。但是,除此之外,您是否在捕獲屏幕截圖之前調用BringToFront方法? EG:

[TearDown] 
public void TearDown() 
{ 

    if (TestContext.CurrentContext.Result.State == TestState.Failure || 
     TestContext.CurrentContext.Result.State == TestState.Error) 
    { 
     Browser.BringToFront(); 
     Browser.CaptureWebPageToFile(DateTime.Now.ToString("ddmmyyyyHHmmss") + GetType().Name + ".png"); 
    } 
    Browser.Close(); 
} 
+0

我沒有調用BringToFront(),因爲當我使用該方法時,它只將焦點放在最小化窗口。我不得不使用ShowWindow()併爲其提供參數以最大化它。我希望避免必須打開瀏覽器,但我想這可能是WatiN和自動化測試如何使用瀏覽器的渲染引擎的必要組成部分,如果窗口不可見,則渲染引擎不渲染。 – Layke