2016-01-23 56 views
0

所以我剛剛拿到WatiN,想做一些自動驗收測試。 我有resharper,以及使用NuGet管理器的Nunit和WatiN。將Embed Interop的引用Interop.SHDocVw屬性更改爲false,所以一切正常,瀏覽器顯示,在一個框中寫入文本(有點快,所以我只看到最終結果,沒有打印,我不知道是否有可能減慢速度),點擊一個按鈕等等。好吧......直到我在測試結束時添加一個斷言。它失敗。 它看起來像瀏覽器在測試結束前關閉。我已經使用了WaitForComplete()方法,但它看起來沒有任何作用。有沒有辦法解決這個問題?Asp .Net MVC WatiN失敗聲明

using System.Threading; 
using NUnit.Framework; 
using WatiN.Core; 

namespace Testy 
{ 
    [TestFixture] 
    [Apartment(ApartmentState.STA)] 
    public class UnitTest2 
    { 
     [Test] 
     public void SearchForWatiNOnGoogle() 
     { 
      using (var browser = new IE("google.com")) 
      { 
       browser.TextField(Find.ByName("q")).TypeText("WatiN"); 
       browser.Button(Find.ByName("btnG")).Click(); 
       Assert.IsTrue(browser.ContainsText("WatiN")); 
      } 
     } 
    } 
} 

這是我試過的,但沒有更好的結果。

[Test] 
     public void SearchForWatiNOnGoogle() 
     { 
      using (var browser = new IE("google.com")) 
      { 
       browser.TextField(Find.ByName("q")).TypeText("WatiN"); 
       browser.WaitForComplete(4000); 
       browser.Button(Find.ByName("btnG")).Click(); 
       browser.WaitForComplete(4000); 
       Assert.IsTrue(browser.ContainsText("WatiN")); 
       browser.Close(); 
      } 
     } 

回答

0

嘗試自動關閉設置爲false,即

 
browser.AutoClose = false; 

然而 - 這個項目已經多年沒有很活躍。那麼爲了UI Automation而在Visual Studio中內置的功能呢?