UFT 12.0无Microsoft Script Debugger的脚本调试替代方案咨询
QTP/UFT 12.0 无外部调试工具的替代调试方案
我之前在严格管控的客户环境里也碰到过一模一样的问题——UFT 12.0没法装已弃用的Microsoft Script Debugger,还不能从外部下载任何工具。下面几个UFT内置的调试方法亲测好用,完全不需要额外工具:
1. 活用UFT自带的调试面板
UFT本身就带了一套完整的调试工具,不用依赖外部软件:
- 断点调试:在脚本编辑器的行号左侧点击就能添加断点(按
F9快速切换),运行到断点时会自动暂停,方便检查当前状态 - 分步执行:用
F10逐过程执行(跳过子函数/子过程),F11逐语句执行(进入子函数/子过程),Shift+F11跳出当前子过程,精准定位问题代码行 - 变量监控:打开「本地窗口」查看当前所有变量的实时值,或者在「监视窗口」添加特定变量,跟踪其变化;还可以在「即时窗口」直接输入
Print 变量名查看值,甚至临时修改变量值测试不同场景
2. 脚本内嵌入调试逻辑
不用依赖调试面板,直接在代码里加调试相关的逻辑,适合自动化运行时排查问题:
- 条件式日志输出:定义一个调试开关变量,只在需要调试时输出详细信息,不影响正常运行:
Dim isDebug : isDebug = True ' 调试时设为True,发布时设为False If isDebug Then Reporter.ReportEvent micInfo, "调试信息", "当前操作的对象名:" & Browser("xxx").Page("xxx").WebEdit("xxx").GetROProperty("name") Reporter.ReportEvent micInfo, "调试信息", "当前变量值:" & strUserName End If - 错误捕获与日志:用VBScript的错误处理机制,在关键步骤后捕获错误并输出详细信息:
On Error Resume Next ' 执行可能出错的操作,比如点击按钮 Browser("xxx").Page("xxx").WebButton("submit").Click If Err.Number <> 0 Then Reporter.ReportEvent micFail, "操作失败", "错误描述:" & Err.Description & " | 错误代码:" & Err.Number Err.Clear ' 清空错误状态,避免影响后续代码 End If On Error GoTo 0 ' 恢复默认错误处理 - 分段测试:把大脚本拆成多个独立的子过程/函数,比如
Login()、SearchData(),单独调用这些子过程测试,快速定位是哪个模块出了问题
3. 利用UFT的运行日志与对象验证
- 详细运行日志:在UFT的「工具→选项→运行」里,把日志级别设为「详细」,运行脚本后查看测试结果的每一步细节,包括对象识别过程、操作返回值,很多问题能从日志里直接找到原因
- 对象仓库验证:调试前先确认对象仓库里的对象是否能正确识别——选中对象后点击「高亮」按钮,看界面上对应的元素是否被选中,避免因为对象识别错误导致的脚本失败
这些方案都是UFT原生支持的,完全不需要外部工具,在客户环境里也能正常使用,我当时就是靠这些方法解决了大部分调试问题。
内容的提问来源于stack exchange,提问作者sai chandra kathi
相关产品推荐
相关产品推荐

