所以我刚拿到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();
}
}
答案 0 :(得分:0)
尝试将autoclose设置为false,即
browser.AutoClose = false;然而,该项目多年来一直没有活跃。 Visual Studio内置于UI Automation的功能如何呢?