QTP场景恢复的实践和总结

上一篇 / 下一篇  2012-04-12 10:46:20 / 个人分类:QTP

 自动化测试的优点在于快速、可靠、可重复、可重用、无疲劳,是对繁重的手工测试的一次解放,适用于回归测试。自动化还有一个特点是无人值守,测试人员要做的是通过看51Testing软件测试网T`2mVO

  REPORT51Testing软件测试网)}4Y&\BB

$Zwd/[Xi0  ER来判断系统是否存在缺陷。当然,脚本执行的过程中或多或少会出现ERROR,由于无人值守的特点,接下来的脚本就会不能运行,这也是为什么在自动化脚本中弹出框要用POP函数的原因。QTP提供的场景恢复可以解决这个问题,我将自己学习实践的过程与大家分享,有不合适的地方请大家指正。51Testing软件测试网%F M4Q%f/M9o6~/_8|

51Testing软件测试网c!Bf}x4q7v

  场景恢复可以看做一种嵌入式机制,是QTP脚本的一个可安装可拆卸零部件,这个零部件的作用就是在机器出现的问题的时候根据我们的指示执行指定的命令,记录案发现场,等脚本跑完的时候递出报告,供我们分析。我们来看看怎么制造这个零件,我分享一个出错时调用函数截图的场景恢复。我使用的版本是QTP10.0051Testing软件测试网&f:?e%j3\:S

51Testing软件测试网VwVa8A]J

  一、设置51Testing软件测试网E0t*E]Ic2O a

51Testing软件测试网bnu/O ~{,@!s

  1、新建Recovery Scenario

&k}#H8xJM#S0

zsW-LB#k)e*\/W0  首先我们打开Resouces--Recovery Scenario Manager窗口。

n d/n"Y} a"n,{ b0

Ch;{f}e&H,L$s0

  点击新建场景恢复图标,开始新建一个Recovery Scenario。51Testing软件测试网 [0jGY@-U NnH#j

  2、选择触发方式51Testing软件测试网%F~ G yf^I

  场景恢复机制提供了四种类型的触发事件,分别用来识别:弹出对话框、对象的特殊属性值、运行错误、应用程序失败。我这里选择Testrun error触发方式。51Testing软件测试网E]C.u8jb9u

51Testing软件测试网;})]$qP7_}/XT F

  Error选择Any error,这样出现任何错误都能触发恢复场景。

5u)l dM[x+e;{S0O0

  3、设置恢复时操作,这里我们选择调用函数。

?7|!a k.f4Y^ f0

51Testing软件测试网:q,w'kR,M?*V

  点击下一步,选择编辑好的函数,我的恢复操作函数如下,函数的作用是将出错页面截屏打印到REPORTER。

tcx#jdc&i nSm0

51Testing软件测试网F-d+U)Rv.jT&z

Function RecoveryFunction1(Object, Method, Arguments, retVal)51Testing软件测试网\Q }T9?w
Dim datestamp,filename,ResPath
%Xn D3p%?-ib]7G0ResPath = Environment("ResultDir")51Testing软件测试网"k!T i0aPI q
datestamp = Now()
2~KvF1{ J0filename = Environment("TestName")&"_"&datestamp&".png"51Testing软件测试网+D5P[5b;C,N0t"YvC
filename = Replace(filename,"/","")51Testing软件测试网{2B:sw?"M0W
filename = Replace(filename,":","")51Testing软件测试网o!R!t A aQ!d8Ec |/j
filename = ResPath + "\" + ""&filename
bS5jkR9j~0Desktop.CaptureBitmap filename,True51Testing软件测试网j h0]h'Ix/\
Reporter.ReportEvent micFail,"场景恢复","报错截屏",filename
A h9p$O/{B0End Function

?&l@C'h t XV!ie0

:E9T XJ,x*d0
document.write(''.replace(/%url%/,encodeURIComponent(location.href)));

@/zF o-j.[$g0

  点击下一步,将add another recovery operations选项取消。51Testing软件测试网)q{(jY[eSk8U

51Testing软件测试网P ]C _I

  4、设置脚本恢复运行时的操作,这里处理下一个Action或者组件中的下一个迭代。51Testing软件测试网9po(R_5RH~ e/V H^

51Testing软件测试网 m#\ v(J B

  到这里,这个调用函数的场景恢复设置就基本完成了,下一步是给场景恢复取名并保存。

y(]Y;T.K5c0

51Testing软件测试网&k6Z jDVt+g

`1@4GybX0

  可以选择将新建的场景恢复添加到当前的TEST或者将其视为默认设置。

&{)M7Y^ H$Vu0

5、关联场景恢复文件

1~v J,kA0

c PNV)o|;ej0~s0  在file>setting>recovery选项中,可以选择添加或者删除场景设置,就跟resources中国添加关联函数是一个道理。51Testing软件测试网7Y%}V(RPn6y9w k

51Testing软件测试网2f+Sr$`,eb

  在test setting里可以看到我们新建的场景设置已经与当前TEST关联。

I5o)cnF7\1~0

  二、运行51Testing软件测试网p SD_#o9}

  批量运行脚本实验场景恢复的作用。51Testing软件测试网/Dj_X8{4oxu

af5v~6n2_j~A?p6\0

  在前面的脚本执行出错时不影响下一个脚本的执行,也即是场景恢复起到了作用,如果没有这个设置,我们批量运行脚本时就会中断在出错的位置,没有起到自动化应有的作用。我们来看一下运行的报告。51Testing软件测试网 \ o%P~xK aZ

6ip0|n:zQ8}1SG0

  SKIP ITERATION,我们设置的恢复操作,执行下一个迭代。

Y;M\)?/d*C4Rj0

  这个是出错的截屏,这里我将密码设置错误触发了场景恢复。

5]p-w&|~ H"T} Z w0

?&ZYz7PV&_0

  谢谢大家,有不正确的请指正。

1`0U'LT5| tft0

TAG:

引用 删除 hbycyf123   /   2012-09-22 12:50:50
除了密码,还有什么条件可以触发场景恢复呢?
 

评分:0

我来说两句

Open Toolbar