关于 Web 测试中的 JavaScript 和 ActiveX 控件

更新:2007 年 11 月

在 Visual Studio Team System Test Edition 中,您在“Web 测试记录器”中记录 Web 测试。通过使用“Web 测试引擎”来运行 Web 测试。Web 测试引擎工作在 HTTP 层。Web 测试引擎使用标准的 HTTP 请求/响应消息直接与目标 Web 服务器通信。它不执行 JavaScript。

说明:

“Web 测试记录器”不仅记录 AJAX 请求,还记录从 Javascript 中提交的请求。“Web 测试引擎”不会执行 Javascript。

本文档将讨论如何处理 Web 测试中的 JavaScript、ActiveX 控件、弹出窗口以及 AJAX。

JavaScript

通常,您不需要针对 Web 应用程序中的 JavaScript 向 Web 测试中添加任何特殊处理。当您记录 Web 测试时,JavaScript 将根据您的 Internet Explorer 设置按预期的方式运行。Web 测试记录器将捕获 JavaScript 生成的任何用作表单参数或查询字符串参数的值。当您使用 Web 测试引擎运行 Web 测试时,JavaScript 将不会运行,但会使用记录期间设置的参数值。

JavaScript 和 Web 测试查看器

通过使用 Web 测试引擎运行 Web 测试,并在“Web 测试查看器”中查看结果。Web 测试查看器包含一个选项卡,其中显示 Web 测试中每个请求的 HTTP 响应。HTTP 响应是 Web 测试的数据,也就是说,您可以通过这些数据判断出 Web 应用程序是否正常工作。

说明:

您添加到测试中的验证规则和提取规则是针对 HTTP 响应执行的。

Web 测试查看器还包含一个具有嵌入式浏览器控件的选项卡。该浏览器控件的作用是显示 Web 测试中每个请求的 HTTP 响应。由于 Web 测试引擎不会执行 JavaScript,因此该嵌入式浏览器控件设置为不运行 JavaScript。

有些网站的 HTML 中包含一个 noscript 标记。该标记使网站可以指定当浏览器设置为不运行 JavaScript 时,浏览器将显示的错误消息。如果网站包含 noscript 标记,那么,当您运行测试时,可能会在 Web 测试查看器中看到一条错误消息,例如 JavaScript required。该错误消息意味着页面在查看器中的显示不正确,但在大多数时候,响应仍然是正确的。您应当检查 HTTP 响应,确定 Web 测试是否正常工作。

说明:

您也可以通过添加验证规则来确定 Web 测试是否正常工作。

JavaScript 和编码的 Web 测试

某些 Web 应用程序依赖 JavaScript,并且这种依赖性会影响到 HTTP 请求。您可以使用编码的 Web 测试来模拟通常由 JavaScript 执行的逻辑。例如,应用程序可能使用 JavaScript 来动态地修改表单参数。在编码的 Web 测试中,您可以通过编写代码以手动的方式对表单参数进行同样的修改。有关更多信息,请参见如何:创建编码的 Web 测试

ActiveX 控件

Web 应用程序中的 ActiveX 控件可根据它们在 HTTP 级别的工作方式分为三类。

  • 您的 ActiveX 控件在 HTTP 级别并不执行任何工作,而只是显示一些在页面中可见的内容。在这种情况下,您无需向 Web 测试中添加任何特殊处理。

  • 您的 ActiveX 控件在 HTTP 级别并不执行任何工作,但您希望对它进行测试。例如,如果您有一个非常大的 ActiveX 控件,您可能希望在负载测试中对它进行测试,确定它是否影响 Web 应用程序的速度。在这种情况下,应添加 ActiveX 控件作为对页面的从属请求;该控件将在测试运行期间下载。

  • 您的 ActiveX 控件在 HTTP 级别执行某项工作,例如,从 Web 服务中检索数据。在这种情况下,必须将测试转换为编码的 Web 测试并手动添加 HTTP 请求。

请参见

任务

Web 测试疑难解答

如何:创建编码的 Web 测试

演练:创建编码的 Web 测试

概念

了解 Web 测试

关于验证规则

关于提取规则

其他资源

使用 Web 测试