Reflection QTP检索已执行的代码

Reflection QTP检索已执行的代码,reflection,qtp,Reflection,Qtp,我正试图找到一种方法来反思我在QTP脚本中执行的代码。这里的想法是,当我遇到崩溃时,有一个恢复场景,捕获错误消息并将其作为缺陷发送给QC。如果我能看到我已经执行的代码,那么理论上我还可以包括重现缺陷的步骤 有什么想法吗?选项1:电影录制和播放 QTP11(最后)有这样一个功能:查看工具,选项,运行,屏幕截图。“将电影保存到结果”“您可以准确地记录发生的事情。生成的电影是运行结果的一部分,也就是说,如果您提交了带有此运行结果的bug,电影将被包括在内 我不会使用这样的功能,因为您必须始终录制电影,

我正试图找到一种方法来反思我在QTP脚本中执行的代码。这里的想法是,当我遇到崩溃时,有一个恢复场景,捕获错误消息并将其作为缺陷发送给QC。如果我能看到我已经执行的代码,那么理论上我还可以包括重现缺陷的步骤


有什么想法吗?

选项1:电影录制和播放

QTP11(最后)有这样一个功能:查看
工具
选项
运行
屏幕截图
。“
将电影保存到结果”
“您可以准确地记录发生的事情。生成的电影是运行结果的一部分,也就是说,如果您提交了带有此运行结果的bug,电影将被包括在内

我不会使用这样的功能,因为您必须始终录制电影,以防出错。你最终会得到包含没人想看的电影的大运行结果,只是为了在发生错误和创建缺陷的罕见情况下拥有它们。但是:

在这方面,HP做得很好:只有在出现错误时,您才可以在对话框中选择将电影保存为结果。而且,为了避免保存测试执行中不包含错误的钻孔部分,但看到导致错误的关键步骤,可以指定只保留电影的最后N kB,以便始终看到导致错误的原因

选项2:“宏”录制和播放

理论上,您可以为所有测试对象创建自己的回放方法(通过RegisterUserFunc注册函数),并使它们在执行回放步骤之前(通过调用原始回放函数)将调用信息保存到某些数据结构中

然后,仍然在理论上,您可以创建一个很好的小型回放引擎,它可以在该数据结构上迭代,并精确地执行先前记录的回放步骤

我做过类似的工作,在更改AUT config后重复播放步骤包,以在各种配置上迭代给定的播放,而不更改执行原始播放的代码

但是,嘿,这是相当多的工作,很多事情可能是错误的:AUT在播放时必须处于与“播放录制”期间相同的初始状态。这包括测试环境的所有相关数据库和子系统。通常,在大型项目中,这不是一项容易的任务,也不值得费心(我们谈论的是重新创建原始初始配置,只是为了重现一个bug)


因此我建议您查看电影功能,即选项1。它不会播放AUT中的步骤,但会准确显示原始播放过程中发生的情况。

选项1:电影录制和播放

QTP11(最后)有这样一个功能:查看
工具
选项
运行
屏幕截图
。“
将电影保存到结果”
“您可以准确地记录发生的事情。生成的电影是运行结果的一部分,也就是说,如果您提交了带有此运行结果的bug,电影将被包括在内

我不会使用这样的功能,因为您必须始终录制电影,以防出错。你最终会得到包含没人想看的电影的大运行结果,只是为了在发生错误和创建缺陷的罕见情况下拥有它们。但是:

在这方面,HP做得很好:只有在出现错误时,您才可以在对话框中选择将电影保存为结果。而且,为了避免保存测试执行中不包含错误的钻孔部分,但看到导致错误的关键步骤,可以指定只保留电影的最后N kB,以便始终看到导致错误的原因

选项2:“宏”录制和播放

理论上,您可以为所有测试对象创建自己的回放方法(通过RegisterUserFunc注册函数),并使它们在执行回放步骤之前(通过调用原始回放函数)将调用信息保存到某些数据结构中

然后,仍然在理论上,您可以创建一个很好的小型回放引擎,它可以在该数据结构上迭代,并精确地执行先前记录的回放步骤

我做过类似的工作,在更改AUT config后重复播放步骤包,以在各种配置上迭代给定的播放,而不更改执行原始播放的代码

但是,嘿,这是相当多的工作,很多事情可能是错误的:AUT在播放时必须处于与“播放录制”期间相同的初始状态。这包括测试环境的所有相关数据库和子系统。通常,在大型项目中,这不是一项容易的任务,也不值得费心(我们谈论的是重新创建原始初始配置,只是为了重现一个bug)


因此我建议您查看电影功能,即选项1。它不回放AUT中的步骤,但它显示了原始回放过程中发生的事情——准确地说。

选项1非常有趣,涵盖了我正在寻找的部分内容,但我希望找到一种方法来获取刚刚运行的代码。因为我问这个问题已经有一段时间了,我接受你的回答。选项1非常有趣,涵盖了我要寻找的部分内容,但我希望找到一种方法来获取刚刚运行的代码。我问这个问题已经有一段时间了,我接受你的回答。