关于 Web 测试中的 JavaScript 和 ActiveX 控件 【转载】

本文转载自:http://msdn.microsoft.com/zh-cn/library/ms404678(VS.80).aspx

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

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

JavaScript

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

JavaScript 重定向

如果 Web 应用程序通过调用 window.location 来使用 JavaScript 重定向,则 Web 测试记录器可能不会捕获该请求。要解决该问题,请在完成 Web 测试的记录后手动添加新请求。将新请求的 URL 设置为 JavaScript 重定向 URL。

Note要点

确认所有验证规则或提取规则都附加到正确的请求。

JavaScript 和 Web 测试查看器

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

Note注意

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

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

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

Note注意

您也可以通过添加验证规则来确定 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 请求,或者使用 Fiddler 工具(在下文中介绍)。

Fiddler 工具

对于极为依赖 JavaScript、AJAX、ActiveX 或弹出窗口来发挥其功能的 Web 应用程序而言,在记录 Web 测试时使用 Fiddler 工具会很有用。Fiddler 以充当代理服务器的方式进行工作,可以截获和记录所有 HTTP 通信。当 Web 测试包含大量 Web 测试记录器无法捕获的重要请求时,Fiddler 是最佳选择。Fiddler 与 Visual Studio Team Edition for Testers 兼容,您可以使用它将记录另存为可以添加到 Visual Studio Team Edition for Testers 项目中的 Web 测试文件。

Fiddler 的缺点是:当前不支持 SSL,不会自动跟踪隐藏字段(例如 ViewState),并且不会过滤掉从属请求。

可以从 http://www.fiddlertool.com 获得 Fiddler。有关使用 Fiddler 的更多信息,请访问 http://go.microsoft.com/fwlink/?linkid=56113

原文地址:https://www.cnblogs.com/chenxizhang/p/1495235.html