測試代碼如下:
usingSystem.Diagnostics;
usingWatiN.Core;
usingNUnit.Framework;
usingSystem;
usingBusinessLayer;
namespaceWebAppUITesting
{
[TestFixture]
publicclassUITesting
{
IEie=null;
[TestFixtureSetUp]
publicvoidInitTest()
{
ie =newIE("http://localhost/WebApp/Default.aspx");
}
//測試加法
[Test]
publicvoidAdditionTest()
{
intnumber1 = 1;
intnumber2 = 2;
//Watin測試代碼
ie.ShowWindow(NativeMethods.WindowShowStyle.Maximize);
ie.TextField(Find.ById("num1")).TypeText(number1.ToString());
ie.TextField(Find.ById("num2")).TypeText(number2.ToString());
ie.Button(Find.ById("btnCheck")).Click();
//預期結果
Arithmeticac =newArithmetic();
stringexpected = ac.addition(number1,number2).ToString();
//實際結果
stringactual = ie.Span(Find.ById("lblResult")).Text;
//斷言測試結果是否正確
Assert.AreEqual(expected,actual);
}
//測試異常處理
[Test]
publicvoidExceptionTest()
{
//Watin測試代碼
ie.TextField(Find.ById("num1")).TypeText("A");
ie.TextField(Find.ById("num2")).TypeText("1");
ie.Button(Find.ById("btnCheck")).Click();
//預期結果
stringexpected ="輸入字符格式不正確!";
//實際結果
stringactual = ie.Span(Find.ById("lblResult")).Text;
//斷言測試結果是否正確
Assert.AreEqual(expected, actual);
}
[TestFixtureTearDown]
publicvoidClearTest()
{
ie.Close();
}
}
}
測試結果如下:
結束語
在Nunit中使用Watin測試思路是這樣的。如果有興趣的話可以自己動手試試看,這是學習的佳途徑。也可以下載附件中的代碼進行學習。