与其临渊羡鱼,不如退而结网!

Recovery Scenarios——Simple 举例

上一篇 / 下一篇  2007-01-22 10:33:44 / 个人分类:Winrunner 技术

查看( 3492 ) / 评论( 10 )
测试过程中,经常发生不能预期的事件,错误和应用程序崩溃。针对这些问题,WR提供了恢复场景的功能(Recovery Scenarios).在Tools > Recovery Manager 中提供了恢复向导(Recovery Wizard),它可以指引用户完成定义恢复场景的全过程。该向导包括两种恢复场景类型:简单恢复(Simple)和复杂恢复(Compound)。本文仅针对简单恢复(Simple)来举例说明。对于Simple来说,既可以通过使用恢复向导完成,也可以通过使用tsl语句完成恢复操作。下面以WR自带的Flight 4A为例,在弹出窗口 Flight Reservations时,自动关闭该窗口,继续进行测试。
L-ZR A9Q0首先,假设我们已经录制一段脚本(aa)如下:(该代码没有填写 Date of Flight,这将导致弹出提示窗口 Flight Reservations)51Testing软件测试网#Qt _&g_H,o'uBp9r%j P5v
# Flight Reservation51Testing软件测试网u9O+oUl~Q'IX*k
        set_window ("Flight Reservation", 3);51Testing软件测试网/tcJ'ZKm@
        button_press ("Button_0");
mJ,g5wKDs1b0        list_select_item ("Fly From:", "Denver");  # Item Number 0;51Testing软件测试网3P5pj9~?
# Flight Reservation
Z n)m2pt's ~u @5Q0        set_window ("Flight Reservation", 1);
@(_7H9z yF%R0        list_select_item ("Fly To:", "London");  # Item Number 2;51Testing软件测试网 D/yq |iU"Z
        button_press ("FLIGHT");51Testing软件测试网*ZR`-T?0@m
# Flight Reservation51Testing软件测试网0EHK!L9h3x
        set_window ("Flight Reservation", 4);51Testing软件测试网 y)o'Jt7\Hi-k6o!g
        edit_set ("Name:", "123");
8zP1R%JH;i0        下面我们对弹出窗口 Flight Reservations进行处理:51Testing软件测试网2k S7A!O y G^`%?
1 使用恢复向导的步骤:51Testing软件测试网~*L~(x'Q'k4r9\

JS0e$E2{n9a5I] f%[01)打开 Recovery Wizard,选择 Popup event 〉next;
S'dZ vP)SR Sn1uZ02)在Scenario Name框中输入场景名称,此处以 popup_win 为名,并输入Descrīption(可选),next;51Testing软件测试网Ebn Nh
3)单击 手型 选择弹出窗口 Flight Reservations, next;
0ha2}#vtM04)此时在恢复操作(Recovery Operations)中有三个选项:Click button, Close active window,Exceute a recovery function.51Testing软件测试网'V ?t*[*^SVGG?
a如果选择 Click button,那么就单击 手型 选择弹出窗口 Flight Reservations 中的 “确定”按钮, next;
Cy d*p%~peQ0b可以选择 Close active window, next;
&i"p ~_,r Hx0c如果选择Exceute a recovery function,那么需要键入恢复功能的名称,然后单击 Define recovery function ,定义恢复功能。在Recovery Function 中输入如下代码:51Testing软件测试网NOp~3|-IY
        if( win_exists("Flight Reservations",20 ) == E_OK){
a~xh3[/?+x F9U0                   set_window("Flight Reservations", 10);51Testing软件测试网A[s}P3R&B
                   report_msg("popup win exists");51Testing软件测试网q'i s+w(k
                   #win_close("Flight Reservations");51Testing软件测试网 Q^bFw8N u z!l[
                   button_press("确定");51Testing软件测试网m'm?v8y%_9f!Y
        }51Testing软件测试网s!\E(X1E[$h;a(y
        exception_on("popup_win");
/bJG%b$i0        此时,会提示需要将该函数保存在一个Compiled Module中,并在需要执行恢复操作的脚本中加载该模块。此处我们假设将该模块命名为 popupException.然后在脚本 aa 的开始处加上 load(".\\popupException") 即可;
U^Aya05)单击 Finish。51Testing软件测试网B;k M)Dq8}
完成上面步骤后,就可在测试运行时自动关闭该弹出窗口,继续进行测试。
TDfd0d"t*T$n2g051Testing软件测试网+E#JJw9N
2 使用tsl语句定义51Testing软件测试网*v z7V@ W
1)定义一个 Compiled Module,命名为 tsl_pop_close,代码如下:51Testing软件测试网$^3G+^'q$ap2DQ
public function popupException(in window)
:S[D`'D+X2i-z;[0{
{6};\`@R6@%J0        if( win_exists("Flight Reservations",20 ) == E_OK){
kFX l:ER]0                   set_window("Flight Reservations", 10);
'yVe RdQ C}0y0                   report_msg("popup win exists");
j:o#_^:G e ys"Q0                   #win_close("Flight Reservations");51Testing软件测试网"Llw2l)v;SA
                   button_press("确定");51Testing软件测试网:n$}'k| U/k,n%K4w
        }
c{(n3z:L0        exception_on("popup_win");51Testing软件测试网/p$fz:@Q9lv/|LlC
}
,VY&fhOP;Ec02)在脚本 aa 的开始处,添加如下代码:
Gr"l8x2b Uipqn0load(".\\popupException");
i}i.F[p'fv$d i9L0define_popup_exception("tsl_pop_close","popupException","Flight Reservations");51Testing软件测试网m9yCph;qj
exception_on("tsl_pop_close");51Testing软件测试网_ qi#B&m:H4BS1r@'oY
即可。51Testing软件测试网 x"|H$@#`k9H
51Testing软件测试网IE e uh4L
需要注意的是:无论使用向导,还是tsl语句,Flight Reservations必须在测试脚本的GUI文件中,否则不能正常运行。

TAG: Winrunner

dionysus的个人空间 dionysus 发布于2007-01-22 14:20:05
从来没有使用过WR的异常处理,又学习了一招sdlkfj3 51Testing软件测试网qZd(I        M
异常处理设置后是生成一段脚本么?保存在哪里呢?
x5@ZI_u`4J&fu_软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具
U5NI+]yNwww.51testing.com[ 本帖最后由 dionysus 于 2007-1-22 14:35 编辑 ]
gp_jl的个人空间 gp_jl 发布于2007-01-22 22:44:57
回复 #2 dionysus 的帖子
如果是使用Recovery Manager进行设置的话,那么会保存在你设置的恢复文件夹中,以 .ini 为后缀。(关于恢复温家的设置,在Tools > General Options > Run > Recovery 中进行)
j%F.{G#U n
`51Testing软件测试网
如果是使用tsl语句的话,那么只有编写的Compiled Module。
kolecat发布于2007-01-26 14:20:12
好文,慢慢消化
rice_mouse发布于2007-04-23 17:27:24
正在学习~收藏~
wongbin发布于2007-05-23 13:45:13

QUOTE:

原帖由 gp_jl 于 2007-1-22 10:33 发表
\g2Y[        |#Bwww.51testing.com在测试过程中,经常发生不能预期的事件,错误和应用程序崩溃。针对这些问题,WR提供了恢复场景的功能(Recovery Scenarios).在Tools > Recovery Manager 中提供了恢复向导(Recovery Wizard),它可以指引用户完 ...
O-EY| ]~wzc*[8a51Testing软件测试网
O5Z&y)M#f8v2y
X2w软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具
谢谢,好帖
ssafa发布于2007-05-24 09:16:02
谢谢.保存之后再看
madduck发布于2007-06-29 11:17:00
正是我所需,先收藏了。慢慢消化!
madduck发布于2007-06-29 21:38:18
我用的是winrunner8.2 ,怎么找不到Recovery Wizard!
!V;PB5Y"jG
bPZ51Testing软件测试网
Recovery Manager我倒是找到了
dionysus的个人空间 dionysus 发布于2007-06-30 22:09:06
就是在那里新建Recovery Scenarios
蓝天伟测试之家 lantianwei 发布于2007-07-13 15:05:27
感觉还是自己写好,方便!
我来说两句

(可选)

Open Toolbar