WinRunner的场景恢复
作者:网络转载 发布时间:[ 2015/4/28 15:49:41 ] 推荐标签:WinRunner 场景 测试
Recovery Scenarios——Simple举例
在测试过程中,经常发生不能预期的事件,错误和应用程序崩溃。针对这些问题,WR提供了恢复场景的功能(Recovery Scenarios).在Tools>Recovery Manager中提供了恢复向导(Recovery Wizard),它可以指引用户完成定义恢复场景的全过程。该向导包括两种恢复场景类型:简单恢复(Simple)和复杂恢复(Compound)。本文仅针对简单恢复(Simple)来举例说明。对于Simple来说,既可以通过使用恢复向导完成,也可以通过使用tsl语句完成恢复操作。下面以WR自带的Flight 4A为例,在弹出窗口Flight Reservations时,自动关闭该窗口,继续进行测试。
首先,假设我们已经录制一段脚本(aa)如下:(该代码没有填写Date of Flight,这将导致弹出提示窗口Flight Reservations)
#Flight Reservation
set_window("Flight Reservation",3);
button_press("Button_0");
list_select_item("Fly From:","Denver");#Item Number 0;
#Flight Reservation
set_window("Flight Reservation",1);
list_select_item("Fly To:","London");#Item Number 2;
button_press("FLIGHT");
#Flight Reservation
set_window("Flight Reservation",4);
edit_set("Name:","123");
下面我们对弹出窗口Flight Reservations进行处理:
1使用恢复向导的步骤:
1)打开Recovery Wizard,选择Popup event〉next;
2)在Scenario Name框中输入场景名称,此处以popup_win为名,并输入Description(可选),next;
3)单击手型选择弹出窗口Flight Reservations,next;
4)此时在恢复操作(Recovery Operations)中有三个选项:Click button,Close active window,Exceute a recovery function.
a如果选择Click button,那么单击手型选择弹出窗口Flight Reservations中的“确定”按钮,next;
b可以选择Close active window,next;
c如果选择Exceute a recovery function,那么需要键入恢复功能的名称,然后单击Define recovery function,定义恢复功能。在Recovery Function中输入如下代码:
if(win_exists("Flight Reservations",20)==E_OK){
set_window("Flight Reservations",10);
report_msg("popup win exists");
#win_close("Flight Reservations");
button_press("确定");
}
exception_on("popup_win");
此时,会提示需要将该函数保存在一个Compiled Module中,并在需要执行恢复操作的脚本中加载该模块。此处我们假设将该模块命名为popupException.然后在脚本aa的开始处加上load(".\popupException")即可;
5)单击Finish。
完成上面步骤后,可在测试运行时自动关闭该弹出窗口,继续进行测试。
2使用tsl语句定义
1)定义一个Compiled Module,命名为tsl_pop_close,代码如下:
public function popupException(in window)
{
if(win_exists("Flight Reservations",20)==E_OK){
set_window("Flight Reservations",10);
report_msg("popup win exists");
#win_close("Flight Reservations");
button_press("确定");
}
exception_on("popup_win");
}
2)在脚本aa的开始处,添加如下代码:
load(".\popupException");
define_popup_exception("tsl_pop_close","popupException","Flight Reservations");
exception_on("tsl_pop_close");
即可。
需要注意的是:无论使用向导,还是tsl语句,Flight Reservations必须在测试脚本的GUI文件中,否则不能正常运行。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11