最基本的 Web 测试格式是 HTTP 请求/响应测试。包括通过编程方式向 Web 应用程序发送 HTTP 请求、提取 HTTP 响应以及检查响应是否为预期值。
如果需要针对 ASP.NET 应用程序执行请求/响应测试,有许多可供选择的方法。您可编写 C# 或 Visual Basic 控制台应用程序。也可编写 JavaScript 或 Perl 脚本。如果您的起点很高,可以编写 C/C++ 程序。现在,Windows PowerShell 也能用于这一领域。
我使用过许多这样的技术,而 Windows PowerShell 已成为我执行轻型 HTTP 请求/响应测试的首选方法。仅需编写一个小 Windows PowerShell 脚本,让它通过编程将信息发布到 Web 服务器上的 ASP.NET 应用程序,一切就万事大吉。脚本随后会检索 HTTP 响应并检查其是否为预期值,从而确定结果为通过还是失败。
在本月的专栏中,我将向您展示如何使用 Windows PowerShell 来针对 ASP.NET 应用程序执行请求/响应测试。我假设您对 ASP.NET 和 Windows PowerShell 至少已有一些基本了解。不过,即使您从前没有接触过这些主题,仍能够毫不费力地理解我所讲的内容。
图 1 是一个名为 MiniCalc 的简单但极具代表性的 ASP.NET Web 应用程序。正如您所看到的,MiniCalc 应用程序接受两个整数,计算其总和或乘积,并且显示包括四个小数位的结果。实际的 Web 应用程序要比这个简单的示例应用程序复杂得多,但我所介绍的技术可轻松地扩展到更复杂的应用程序。
图 1 待测试的简单 ASP.NET Web 应用程序
图 2 显示了运行中的 Windows PowerShell 测试脚本。为简单起见,我使用硬编码处理了与待测试应用程序相关的所有信息。稍后我将解释如何参数化此脚本。脚本首先回显目标 URL http://localhost/MiniCalc/Default.aspx,然后探测请求 Web 应用程序的初始 ViewState 和 EventValidation 值。它们是关键值,稍后我会进行解释。
图 2 运行中的 Windows PowerShell 测试脚本
接下来,脚本通过编程方式发布信息,模拟用户将 5 键入 TextBox1,将 3 键入 TextBox2,选择 RadioButton1(表示加法操作),然后单击 Button1(执行计算)。脚本从 Web 服务器捕获 HTTP 响应,显示整个响应,然后搜索响应以查看在 TextBox3(创建来显示计算结果的控件)中是否显示的是 8.0000(5 + 3 的结果)。