51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9227|回复: 10
打印 上一主题 下一主题

Recovery Scenarios——Simple 举例

[复制链接]
  • TA的每日心情
    奋斗
    2015-11-17 09:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2007-1-22 10:33:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在测试过程中,经常发生不能预期的事件,错误和应用程序崩溃。针对这些问题,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文件中,否则不能正常运行。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-1-22 14:20:05 | 只看该作者
    从来没有使用过WR的异常处理,又学习了一招sdlkfj3
    异常处理设置后是生成一段脚本么?保存在哪里呢?

    [ 本帖最后由 dionysus 于 2007-1-22 14:35 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-17 09:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    3#
     楼主| 发表于 2007-1-22 22:44:57 | 只看该作者

    回复 #2 dionysus 的帖子

    如果是使用Recovery Manager进行设置的话,那么会保存在你设置的恢复文件夹中,以 .ini 为后缀。(关于恢复温家的设置,在Tools > General Options > Run > Recovery 中进行)
    如果是使用tsl语句的话,那么只有编写的Compiled Module。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-1-26 14:20:12 | 只看该作者
    好文,慢慢消化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-4-23 17:27:24 | 只看该作者
    正在学习~收藏~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-5-23 13:45:13 | 只看该作者
    原帖由 gp_jl 于 2007-1-22 10:33 发表
    在测试过程中,经常发生不能预期的事件,错误和应用程序崩溃。针对这些问题,WR提供了恢复场景的功能(Recovery Scenarios).在Tools > Recovery Manager 中提供了恢复向导(Recovery Wizard),它可以指引用户完 ...


    谢谢,好帖
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-5-24 09:16:02 | 只看该作者
    谢谢.保存之后再看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-6-29 11:17:00 | 只看该作者
    正是我所需,先收藏了。慢慢消化!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-6-29 21:38:18 | 只看该作者
    我用的是winrunner8.2 ,怎么找不到Recovery Wizard!
    Recovery Manager我倒是找到了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-6-30 22:09:06 | 只看该作者
    就是在那里新建Recovery Scenarios
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-7-13 15:05:27 | 只看该作者
    感觉还是自己写好,方便!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 10:57 , Processed in 0.080068 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表