51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2777|回复: 9
打印 上一主题 下一主题

[原创] CheckPoint 疑问

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-22 00:02:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
----------------------------------------


QTP版本:9.2
QTP插件:.Net Add-In
测试对象:.Net 2.0 平台开发的程序

问题描述:

    原来用QTP建立了一个SwfTable对象的CheckPoint(附图一)“報表結果”,后来因为数据有问题,把原来的CheckPoint删除,重新做了一次CheckPoint(附图二),在CheckPoint属性对话框中把CheckPoint Name修改为和原来一样的“報表結果”时,提示说“報表結果”已经存在了,要我重新定一个名字!(附图三)

    这时才发现原来QTP并没有将原来定义的CheckPoint属性删除,而是依然还存在,这时,如果你在Expert View中将CheckPoint代码重新修改为“報表結果”:

    SwfWindow("ERP").SwfWindow("COM").SwfTable("報表結果").Check CheckPoint("報表結果_2")

改回

    SwfWindow("ERP").SwfWindow("COM").SwfTable("報表結果").Check CheckPoint("報表結果")

然后再去Keywords View查看该CheckPoint属性的时候,你会发现刚才的CheckPoint属性居然还是存在的!!!并没有删除!!!

那如果是这样的话,我们编写的QTP脚本在历经多次这样的反复之后,冗余的东西不是会原来越多?而且,我实在没有找到哪里可以将这些冗余的CheckPoint对象找出来,并删除的地方。

    当我再把写好的一支QTP脚本作为范本另存为成另外一支脚本准备做一些修改的时候,发现上一支录制的CheckPoint还会一直存在,新建立的CheckPoint只能不断在CheckPoint名称后加上“_2”,“_3”,“_4”,……这样延续, 严重影响我的脚本的可读性,还会造成冗余。


    有没有朋友也遇到这样的疑问或者有办法能够解决我的困扰的?探讨一下?

    我现在的做法是写一些干净的 Action ,其他测试人员编写类似脚本的时候,直接 Call to Copy of Action,这样才不会不断堆积冗余的东西。


    any ideas?

[ 本帖最后由 anson_xiong 于 2007-8-22 00:10 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2007-8-23 16:44:27 | 只看该作者
    选择 checkpoint Property后, 出现一个对话框,前面带有对号的属性表示你要检查的属性。QTP会默认为你要检查这些属性。根据需要,可以增加或减少要检查的属性。我记得有个Add/ 按钮,就可以实现这些。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-8-23 09:55:41 | 只看该作者
    原帖由 牛牛是乖乖 于 2007-8-22 23:10 发表



    walker:
    怎么修改对象需检查的属性呀.
    我刚学.
    是右键吗
    文档里没写这个功能.
    有深入的文档吗?



    你看下面的圖片:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-8-22 23:10:41 | 只看该作者
    原帖由 walker1020 于 2007-8-22 00:49 发表
    个人的建议是:
    1,不要删除 带有CheckPoint的语句。如果需要修改对象需检查的属性,那么可以先把光标放在CheckPoint的名字上,然后 修改它。
    2,自己写代码去检查它。你还可以参考http://bbs.51testing.com/ ...



    walker:
    怎么修改对象需检查的属性呀.
    我刚学.
    是右键吗
    文档里没写这个功能.
    有深入的文档吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2007-8-22 22:45:42 | 只看该作者
    原帖由 anson_xiong 于 2007-8-22 10:50 发表
    寫腳本對於開發人員而言自是沒有太大的問題, 我所考量的是腳本的可讀性, 以及對於一般測試人員能夠兼顧到, 讓一般測試人員也可以就理解,併處理一些簡單的QTP應用.對於他們而言和程序關聯太大的地方,都會是難點和 ...


    这些观点值得借鉴和学习,特别是 “简单而又实用”这个原则
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-8-22 10:50:30 | 只看该作者
    寫腳本對於開發人員而言自是沒有太大的問題, 我所考量的是腳本的可讀性, 以及對於一般測試人員能夠兼顧到, 讓一般測試人員也可以就理解,併處理一些簡單的QTP應用.對於他們而言和程序關聯太大的地方,都會是難點和制肘的地方.

    呵呵,在一定的情況下,簡單而又實用會是一個比較有產出原則吧.


    sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2007-8-22 10:45:53 | 只看该作者
    Thank you all,

    QTP這種把CheckPoint當作對象保存起來的做法,直接的後果就是會導致腳本中會存在冗餘的CheckPoint,而且,無法清除.文件越來越大,間接導致測試人員維護測試腳本時容易對CheckPoint常生疑惑.引起不必要的麻煩.

    To walker1020

    1. 在實際運作過程中,事實上是不太容易做到的,腳本有維護,就會有CheckPoint的增刪,當然,您的建議也說明了對CheckPoint的刪除要謹慎.
    2.(To winfood also)
        對於一般測試人員而言,直接填加CheckPoint要比自行編寫腳本進行檢查要來得簡單而且容易的多,尤其是像我們公司使用SwfTable來顯示報表查詢結果的情況而言,直接對SwfTable做CheckPoint,似乎要比自己定義檢查點要快捷簡單的多,畢竟SwfTable的CheckPoint,QTP會自動替你取得整個Table的結構和數據,測試人員只要在上面填寫,修改好自己預期的數據就勿須再做更多.也畢竟報表查詢出來的內容和Fields往往很多很多.

         不過,你們的建議倒是讓我重新審視CheckPoint的使用時機,呵呵呵呵,我覺得簡單的檢查就可以直接使用自寫腳本檢查了,比如檢查某個Control的Text等屬性的時候.呵呵,這樣腳本的可讀性也會更好.


         接觸QTP不久,因為本身是開發主管,所以多從開發人員角度看問題,如有不妥處,大家見諒,多多討論哈,呵呵呵呵.


    sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-8-22 09:29:15 | 只看该作者
    版主的建议比较好,如果想彻底避免这样的问题还是用自定义检查点比较好。

    QTP里面自带的CheckPoint和Output Value都有这样的问题:在录制过程中他们是作为一类对象被录制下来的,CheckPoint和Output Value类型对象的形式都是CheckPoint(****)的。但是这些对象却被隐藏了,在对象仓库(Object Repository)里面无法管理(查找和编辑)他们。

    我试过QTP9.0里面只有Database CheckPoint类型被保存到对象仓库里面。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-8-22 00:49:04 | 只看该作者
    个人的建议是:
    1,不要删除 带有CheckPoint的语句。如果需要修改对象需检查的属性,那么可以先把光标放在CheckPoint的名字上,然后 修改它。
    2,自己写代码去检查它。你还可以参考http://bbs.51testing.com/viewthread.php?tid=86742
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-8-22 00:44:53 | 只看该作者
    这样的问题的确存在,好像是 QTP 自动 给CheckPoint名称后加上“_2”,“_3”,“_4”,如果你对同一个对象多次增加 CheckPoint.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-27 21:26 , Processed in 0.086604 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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