关于 Web 测试中的 JavaScript 和 ActiveX 控件 【转载】
2009-06-03 11:59
316 查看
本文转载自: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。
![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
要点 确认所有验证规则或提取规则都附加到正确的请求。 JavaScript 和 Web 测试查看器 通过使用 Web 测试引擎运行 Web 测试,并在“Web 测试查看器”中查看结果。Web 测试查看器包含一个选项卡,其中显示 Web 测试中每个请求的 HTTP 响应。HTTP 响应是 Web 测试的数据,也就是说,您可以通过这些数据判断出 Web 应用程序是否正常工作。
![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
注意 您添加到测试中的验证规则和提取规则是针对 HTTP 响应执行的。 Web 测试查看器还包含一个具有嵌入式浏览器控件的选项卡。该浏览器控件的作用是显示 Web 测试中每个请求的 HTTP 响应。由于 Web 测试引擎不会执行 JavaScript,因此该嵌入式浏览器控件设置为不运行 JavaScript。 有些网站的 HTML 中包含一个 noscript 标记。该标记使网站可以指定当浏览器设置为不运行 JavaScript 时,浏览器将显示的错误消息。如果网站包含noscript 标记,那么,当您运行测试时,可能会在 Web 测试查看器中看到一条错误消息,例如 JavaScript required。该错误消息意味着页面在查看器中的显示不正确,但在大多数时候,响应仍然是正确的。您应当检查 HTTP 响应,确定 Web 测试是否正常工作。
![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
注意 您也可以通过添加验证规则来确定 Web 测试是否正常工作。 JavaScript 和编码的 Web 测试 某些 Web 应用程序依赖 JavaScript,并且这种依赖性会影响到 HTTP 请求。您可以使用编码的 Web 测试来模拟通常由 JavaScript 执行的逻辑。例如,应用程序可能使用 JavaScript 来动态地修改表单参数。在编码的 Web 测试中,您可以通过编写代码以手动的方式对表单参数进行同样的修改。有关更多信息,请参见如何:创建编码的 Web 测试。
您的 ActiveX 控件在 HTTP 级别并不执行任何工作,但您希望对它进行测试。例如,如果您有一个非常大的 ActiveX 控件,您可能希望在负载测试中对它进行测试,确定它是否影响 Web 应用程序的速度。在这种情况下,应添加 ActiveX 控件作为对页面的从属请求;该控件将在测试运行期间下载。
您的 ActiveX 控件在 HTTP 级别执行某项工作,例如,从 Web 服务中检索数据。在这种情况下,您必须将测试转换为编码的 Web 测试并手动添加 HTTP 请求,或者使用 Fiddler 工具(在下文中介绍)。
JavaScript
通常,您不需要针对 Web 应用程序中的 JavaScript 向 Web 测试中添加任何特殊处理。当您记录 Web 测试时,JavaScript 将根据您的 Internet Explorer 设置按预期的方式运行。Web 测试记录器将捕获 JavaScript 生成的任何用作表单参数或查询字符串参数的值。当您使用 Web 测试引擎运行 Web 测试时,JavaScript 将不会运行,但会使用记录期间设置的参数值。 JavaScript 重定向 如果 Web 应用程序通过调用 window.location 来使用 JavaScript 重定向,则 Web 测试记录器可能不会捕获该请求。要解决该问题,请在完成 Web 测试的记录后手动添加新请求。将新请求的 URL 设置为 JavaScript 重定向 URL。![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
要点 确认所有验证规则或提取规则都附加到正确的请求。 JavaScript 和 Web 测试查看器 通过使用 Web 测试引擎运行 Web 测试,并在“Web 测试查看器”中查看结果。Web 测试查看器包含一个选项卡,其中显示 Web 测试中每个请求的 HTTP 响应。HTTP 响应是 Web 测试的数据,也就是说,您可以通过这些数据判断出 Web 应用程序是否正常工作。
![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
注意 您添加到测试中的验证规则和提取规则是针对 HTTP 响应执行的。 Web 测试查看器还包含一个具有嵌入式浏览器控件的选项卡。该浏览器控件的作用是显示 Web 测试中每个请求的 HTTP 响应。由于 Web 测试引擎不会执行 JavaScript,因此该嵌入式浏览器控件设置为不运行 JavaScript。 有些网站的 HTML 中包含一个 noscript 标记。该标记使网站可以指定当浏览器设置为不运行 JavaScript 时,浏览器将显示的错误消息。如果网站包含noscript 标记,那么,当您运行测试时,可能会在 Web 测试查看器中看到一条错误消息,例如 JavaScript required。该错误消息意味着页面在查看器中的显示不正确,但在大多数时候,响应仍然是正确的。您应当检查 HTTP 响应,确定 Web 测试是否正常工作。
![](http://i.msdn.microsoft.com/ms404678.note(zh-cn,VS.80).gif)
注意 您也可以通过添加验证规则来确定 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。相关文章推荐
- 关于 Web 测试中的 JavaScript 和 ActiveX 控件 【转载】
- 转载--关于WEB开发中引入javascript文件方式的一点建议
- 关于web中javascript不能响应ActiveX事件
- 关于web中javascript不能响应ActiveX事件
- (已测试)在本地处理模式下将业务对象数据源与 ReportViewer Web 服务器控件一起使用
- 转载:关于开发和测试
- 关于PropertyGrid的使用以及控件编写(转载微软的一片文章)
- WebViewJavascriptBridge详细使用(转载)
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等) --------转载
- asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。
- 关于在android webview中使用File Upload控件的问题
- [2008-04-09更新]一个JavaScript WEB日历控件,支持IE6,FireFox,原作者 小酒天ID:KimSoft
- Web 开发面试中常见的 10 个关于 JavaScript 的概念
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- 转载 Javascript访问html页面的控件
- Web Office开发中关于NTKO控件说明
- (转载)Web网站的性能测试工具
- 页面调用OCX(ActiveX)控件,自动下载、注册及 javascript对ActiveX的访问、控制和事件调用等。
- 关于跨浏览器测试那点事(转载)
- Web网站的性能测试工具(转载)