51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5903|回复: 8
打印 上一主题 下一主题

RFT测试web的两点疑问

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-21 23:02:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、使用RFT录制web应用时很多情况下会遇到因为网络或者其他原因导致的网页加载失败的情况,这时候回放时就会产生错误,请教各位该如何解决这个问题呢?
2、RFT录制时有些对象录不了,请问这种情况下该如何解决呢?从网上看到用第三方工具,譬如autoit,不知道是否能解决问题,你们都是如何操作的呢?
谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-22 16:26:58 | 只看该作者
1、你可以用waitForExistance方法,如果在规定时间内找不到对象,会抛出异常,所以你可以在脚本中用try...catch来处理
2、还没遇到过,可以用find方法试试
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2017-3-28 09:26
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2008-7-22 16:42:25 | 只看该作者
    我们那次培训,好像我们同事说设置等待点,或者调有一个函数
    public boolean loadclickloginpage()
            {
                 table_htmlTable_clickloginpage().waitForExistence();
                 return table_htmlTable_clickloginpage().exists();
            }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-7-22 19:14:19 | 只看该作者
    楼上不算是正解吧。
    呵呵。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2008-7-22 22:24:40 | 只看该作者

    回复 2# 的帖子

    用try。。catch也仅仅是抛出异常,回放还是失败的,难道测web时你们没有遇到过吗?只能听天由命?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-7-23 23:54:12 | 只看该作者
    关于第一个问题,我一般是写一个while循环来实现的,代码如下:
    boolean flag = false;
    int time = 1;
    while(!flag && time < 20){
        RootTestObject root = getRootTestObject();
        TestObject[] to = root.find();//find里的参数太复杂了,我就先不写了.
        if(to.length !0){
            flag = true;
        }
        sleep(1);
        time++;
    }
    以上代码将执行查找对象的操作,如果找不到对象,则会持续等待20秒,如果找到了,则结束循环执行下一行脚本,在上面的的代码中如果把time参数去掉,那么脚本就会一直查找直到找到对象为止,之所以不用RFT提供的方法,是因为我无法对RFT的方法进行重写,这样的话就无法按照我的需求去编写代码了。
    关于第二个问题,我查找对象一般都是用find方法,在今年进行的自动化测试中,所有的对象识别都是建立在find方法的基础上的,没用录制功能。对于一些不能识别的OCX控件,则使用watir进行识别(我们测试的B/S系统,所以可以用WATIR),我一直不喜欢在自动化测试过程中使用录制的方式生成脚本,虽然在初期可以节省不少的工作量,但是在后期你会发现,脚本的维护工作简直就是一场恶梦!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2008-7-27 17:27:57 | 只看该作者

    回复 6# 的帖子

    谢谢6楼的解释
    对于1,在用find时如果没找到需要的对象,那么可以用刷新网页来搞定。我的问题通过这种方式已经解决了,呵呵
    对于2,watir从网上看到过,一个开源的专门测试web的工具,但具体还没用过,先熟悉一下看看能否解决问题.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-8-4 14:32:20 | 只看该作者
    原帖由 dreamever 于 2008-7-23 23:54 发表
    关于第一个问题,我一般是写一个while循环来实现的,代码如下:
    boolean flag = false;
    int time = 1;
    while(!flag && time < 20){
        RootTestObject root = getRootTestObject();
        TestObject[] to = root.f ...


    实际上rft的waitfor方法本身估计也是用while这么实现的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-11-26 09:27:43 | 只看该作者
    很强很暴力
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 14:58 , Processed in 0.074079 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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