关于 Web 性能测试中的 JavaScript 和 ActiveX 控件
在 Visual Studio 旗舰版中,可在 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 请求。