大部分系统是B/S架构,我们主要开发的是WEB页面,那么能否使用Visual Studio 2008进行WEB页面的测试吗?当然是可以的,下面我就以一个简单的WEB页面为例子,介绍如何利用Visual Studio 2008进行WEB页面的单元测试。
第一步,我们建立一个网站项目,在解决方案资源管理器里会有如下文件:
我们在Default.aspx页面增加三个简单控件,如下图所示:
protected void Button1_Click(object sender, EventArgs e)
{
Contract Contract1 = new Contract();
this.TextBox2.Text =
Contract1.GetContractNameByGUID(this.TextBox1.Text);
}
|
其中包括二个文本框,一个按钮,主要功能为:TextBox1可以输入合同的编号,通过点击Button1按钮,可以获取合同名称,然后通过TextBox2文本框显示。下面,我们通过Visual
Studio 2008对这个简单的页面进行单元测试。
第二步:新增Web测试
不知道还记得我们在《Visual Studio
2008单元测试(1)_开篇》已经增加了BusinessTest测试项目,现在直接在此项目在添加Web测试,如下图所示:
Visual Studio 2008会弹出IE页面,供我们录入Web记录,如下图所示:
在IE页面输入要测试的URL,进行操作:
然后我们输入合同编号,并且点击“获取合同名称”:
我们可以录入不同的合同编号,用于测试获取的合同名称是否正确,操作完成后,点击“停止”,则完成了脚本录入的工作。
此时,我们在Visual 2008的Web测试页面可以看到如下内容:
第三步:添加验证规则
经过第二步的脚本录入,我们可以在窗体添加验证规则,用于测试页面是否生成了正确的合同名称,如下图所示:
然后,会弹出添加验证规则的界面,我们需要验证“必需的属性值”,用于测试TextBox2的值是否正确,即合同名称是否正确,如下图所示:
其中:
- 标记名:为HTML的XML结点的名称,此处TextBox生成的HTML为结点,故设置为input。
- 匹配属性名称、匹配属性值:用于查找XML结点,因TextBox生成的HTML为,因此设置为Name、TextBox2,即可定位此控件。
- 属性名、所需的值:定义正确的值,用于测试正确性。TextBox生成的HTML为,故此处设置为value与10。
第四步:运行测试
点击“运行测试”按钮即可得到测试结果,如下图所示:
总共三个WEB请求,二个测试通过,一个测试不通过,可能通过查看“WEB浏览器”、请求、响应、上下文、详细信息跟踪并找出错误信息,如下图:
找到原因,更改脚本,重新“运行测试”,测试通过,如下图:
Visual2008的WEB测试不支持JavaScript 和 ActiveX 控件,如何处理呢,引入MSDN里的话:
某些 Web 应用程序依赖 JavaScript,并且这种依赖性会影响到 HTTP 请求。您可以使用编码的 Web 测试来模拟通常由
JavaScript 执行的逻辑。例如,应用程序可能使用 JavaScript 来动态地修改表单参数。在编码的 Web
测试中,您可以通过编写代码以手动的方式对表单参数进行同样的修改。
本篇简单介绍了Visual2008最简单的单元测试功能,下期将介绍如何利用Visual2008进行数据库单元测试。