Asp .Net MVC WatiN失败断言

时间:2016-01-23 00:17:52

标签: c# asp.net asp.net-mvc automated-tests watin

所以我刚拿到WatiN,想做一些自动验收测试。 我有使用NuGet经理的resharper,以及Nunit和WatiN。将Embed Interop的引用Interop.SHDocVw属性更改为false,以便一切正常,浏览器显示,将文本写入框中(有点快,所以我只看到最终结果,没有打字我不知道是否可能减慢速度,点击一个按钮等等。好吧......直到我在测试结束时添加一个Assert。它失败。 有点看起来浏览器在测试结束前关闭。我已经使用了WaitForComplete()方法,但看起来它没有做任何事情。有办法解决这个问题吗?

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();
            }
        }

1 个答案:

答案 0 :(得分:0)

尝试将autoclose设置为false,即

browser.AutoClose = false;
然而,该项目多年来一直没有活跃。 Visual Studio内置于UI Automation的功能如何呢?