您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Watir
使用Watir對ASP.NET頁面進(jìn)行單元測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/2/5 15:36:11 ] 推薦標(biāo)簽:

引言

        單元測試是應(yīng)用程序設(shè)計的一個重要部分,它可應(yīng)用于程序的多個層次。本文將主要關(guān)注用戶界面層的單元測試。我們將使用WatiN 測試ASP.NET應(yīng)用程序。

什么是WatiN?

        WatiN 是一個源自Watir的工具,用于測試Web頁面。WatiN表示W(wǎng)eb Application Testing in .NET。

我們要測試什么?

        在本文中我們將測試一個簡單的ASP.NET頁面,用這個頁面來演示認(rèn)同、接受(agreement aclearcase/" target="_blank" >cceptance)的場景。用戶在文本框中輸入名字,點(diǎn)擊“I agree”復(fù)選框,然后按下submit按鈕。這顯然是一個非常簡單的頁面,在你熟悉了WatiN框架的工作機(jī)制后,可以將這里的理念用于大型頁面的測試了。

        這里是待測頁面的截圖:

測試認(rèn)同(Agreement)頁面:

        向解決方案添加一個類庫項目,并為其添加對測試工具(我這里用的是MbUnit,但你完全可以使用NUnit或VSTS的測試項目)和WatiN庫的引用。你可以在這里下載WatiN。

        下面的測試代碼用來確保用戶已經(jīng)認(rèn)同。

[TestFixture(ApartmentState = ApartmentState.STA)]publicclassTestAgreementPage{[Test]publicvoidTestCanAcceptUserAgreement(){IE ie =newIE(ConfigurationManager.AppSettings["DefaultPageUrl"]);ie.TextField("txtName").TypeText("Mohammad Azam");ie.CheckBox("chkAgree").Checked =true;ie.Button("btnAgree").Click(); Assert.AreEqual("Valid", ie.Span("lblMessage").Text);}} .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: ; margin: 0em; } .csharpcode .lnum { color: #606060; }

        這個類有TestFixture特性(Attribute),STA值確保該測試運(yùn)行于STA(Single Threaded Apartment)狀態(tài)下。這是因為測試代碼要加載IE。

        WatiN中的IE類完成了主要工作。IE類打開IE,通過name或id來引用html控件。這一行ie.TextField("txtName").TypeText("Mohammad Azam"),引用了id為“txtName”的文本框。瀏覽器加載后,WatiN會將值“Mohammad Azam”寫入id為“txtName”的文本框。這個過程在測試時你會看到的。然后id為“chkAgree”的復(fù)選框會被選中。后,WatiN會按下提交按鈕,窗體被提交。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd