您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Watir
使用Watir对ASP.NET页面进行单元测试
作者:网络转载 发布时间:[ 2013/2/5 15:36:11 ] 推荐标签:

引言

        单元测试是应用程序设计的一个重要部分,它可应用于程序的多个层次。本文将主要关注用户界面层的单元测试。我们将使用WatiN 测试ASP.NET应用程序。

什么是WatiN?

        WatiN 是一个源自Watir的工具,用于测试Web页面。WatiN表示Web Application Testing in .NET。

我们要测试什么?

        在本文中我们将测试一个简单的ASP.NET页面,用这个页面来演示认同、接受(agreement aclearcase/" target="_blank" >cceptance)的场景。用户在文本框中输入名字,点击“I agree”复选框,然后按下submit按钮。这显然是一个非常简单的页面,在你熟悉了WatiN框架的工作机制后,可以将这里的理念用于大型页面的测试了。

        这里是待测页面的截图:

测试认同(Agreement)页面:

        向解决方案添加一个类库项目,并为其添加对测试工具(我这里用的是MbUnit,但你完全可以使用NUnit或VSTS的测试项目)和WatiN库的引用。你可以在这里下载WatiN。

        下面的测试代码用来确保用户已经认同。

[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值确保该测试运行于STA(Single Threaded Apartment)状态下。这是因为测试代码要加载IE。

        WatiN中的IE类完成了主要工作。IE类打开IE,通过name或id来引用html控件。这一行ie.TextField("txtName").TypeText("Mohammad Azam"),引用了id为“txtName”的文本框。浏览器加载后,WatiN会将值“Mohammad Azam”写入id为“txtName”的文本框。这个过程在测试时你会看到的。然后id为“chkAgree”的复选框会被选中。后,WatiN会按下提交按钮,窗体被提交。

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd