转:WebTest的常见问题与解决
2020-11-16 12:12
标签:style blog http java 使用 os WebTest的常见问题与解决 常见问题 ?重定向到错误页 提取规则的事件序列如下所示: ?Web测试引擎开始执行Request1。 ?Request1发送到目标服务器。 ?从目标服务器接收一个响应。 ?针对Request1的提取规则在响应页上运行。 ?提取规则在Web测试上下文中放置一个项。 ?Web测试引擎开始执行Request2。 ?查询字符串参数、窗体参数和Request2上其他任何上下文绑定的值从Web测试上下文替换。 ?Request2发送到目标服务器。 4、使用编码的WebTest 转:WebTest的常见问题与解决,搜素材,soscw.com 转:WebTest的常见问题与解决 标签:style blog http java 使用 os 原文地址:http://www.cnblogs.com/lci05/p/3700067.html
录制好一个WebTest,加上各种规则,编辑后运行并不会像我们想象的那么顺利成功,往往会碰到很多问题,运行不成功的情况比较多,这样我们就遇到了如何解决这些问题的情形。
1、使用
Web Test Viewer
验证 Web 测试
?下表列出验证 Web
测试时需要查看的项,以及有关每种问题类型的附加信息。
2、常见的 Web
测试问题
WebTest的弱点
简单的记录和回放不适用某些网站
不能记录Javascrīpt请求(Ajax、图片等)
不能记录胖客户端的Web应用请求
不能测试客户端代码
导航测试
导航直观、清晰
整体结构、页面结构
图形测试
图片、动画、颜色、边框、字体、背景、按钮
风格、大小、用途
表格测试
表格风格、布局、一致性
1、Web 服务器在执行过程和记录过程中的不同响应
Request failed: $HIDDEN1.__VIEWSTATE not found in test
context.
当 Web 测试尝试在它无法定位的 Web
测试上下文中使用隐藏字段,并从它接收的前一响应页进行提取操作时,会发生该错误。
当一个 Web 应用程序创建一个唯一的用户名时。在不添加数据绑定或随机值的情况下运行这种 Web 测试,可能导致 Web
应用程序在该测试尝试创建重复的用户名时显示错误。
解决:数据绑定
?Javascrīpt 重定向
使用 Javascrīpt 重定向(设置 window.location)的 Web
应用程序可能在执行中和记录中进行不同的响应,因为Web 测试引擎不运行脚本代码。
解决:插入该脚本重定向到的
URL,并从执行重定向的页将所需的提取规则移到新请求
当出现服务器错误时,Web应用程序可能重定向到错误页,但并不返回一个HTTP
400或500级别响应代码。
错误原因:Web应用程序自身有问题,或者Web测试发出的请求有问题。
上图两次请求登陆页面
?自动隐藏字段跟踪
?修复__EVENTTARGET以及其他由Javascrīpt修改的隐藏窗体字段
3、辅助工具Fiddler
由于某些请求(例如,AJAX
请求和一些弹出窗口)不可能由 Web Test Recorder 进行记录 ,Eric Lawrence 编写了一个称为 Fiddler 的
工具。
Fiddler 用作代理服务器,可以截获所有 HTTP 通信量(仍不具有 SSL 支持,不过从2.0版本开始支持了),使用 Fiddler
可以更正一个无法用标准 Web Test Recorder 进行记录的 Web 测试。
http://www.fiddlertool.com
http://www.fiddler2.com
2.0版本开始支持SSL
Fiddler使用说明
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/IE_IntroFiddler.asp?frame=true
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/IE_Fiddler2.asp?frame=true
从 Fiddler 保存 Web
测试
当 Web Test Recorder 丢失一些 AJAX、ActiveX
或弹出窗口请求时,一个选项用于使用 Fiddler 记录整个测试。Fiddler 可以将一系列捕获的请求保存为可以添加到 Visual Studio 2005
测试项目的 .webtest 文件。
当无法使用 Web
测试记录器记录大量请求时,该选项最为适用。该选项的主要限制是,Fiddler 创建的 Web 测试不使用自动隐藏字段跟踪(例如,针对
__VIEWSTATE),而且不筛选诸如图像、CSS 和 Javascrīpt 的依赖请求。
缺点:录制所有的信息,没有清晰的结构
将保存的WebTest文件加入到测试项目中,可以发现结构没有使用记录器录制的清晰
最后可以考虑使用录制的WebTest和使用Fidder录制后手动添加请求相结合的方式来完善WebTest
从
Fiddler 手动添加请求
对于丢失请求的另一个选项是:使用 Fiddler
确定需要将哪些请求手动添加到 Web 测试。当 Web Test Recorder
丢失少量请求时,该方法最适用,因为您仍然可以受益于诸如自动隐藏字段跟踪和依赖请求筛选这样的功能。
在本例中,最好同时使用 Fiddler 和 Web 测试记录器记录 Web
测试。这使您能够比较这两个记录来发现丢失的请求。如果明显丢失了一个请求(例如,如果您知道发生了一个 AJAX
请求),则在记录过程中插入一个注释也是很有帮助的。该注释作为手动创建请求的占位符。
注意:需要将任何所需的提取规则、用于参数值的上下文绑定以及 ThinkTime 添加到手动创建的请求。
可以通过生成编码的WebTest来编程调试解决问题,关于编码的WebTest在前面已经提到过,比如使用分支,循环等控制