51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2450|回复: 6
打印 上一主题 下一主题

[原创] 求助处理QTP点击出错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-13 14:08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在测试一个在线对话框
现在问题是当服务器等待话框人数达到一定程度(CPU持续在95%左右了),我使用QTP在客户端上,写入信息,然后点发送(重复执行此操作)

一个极大的问题是:虽然QTP脚本上写了点击“发送”这个控件,可经常运行持续10来分钟或者更久,几乎都会发生点错,也就是点到“发送”这个控件以外的控件了。
如何能除去这些点错控件的?请教高手(不能使用IF做判断,因为IF会耗很多的时候判断对话框是否存在,目前我们是为了与性能做对应操作的,所以不允许太多的等待时间)

SwfWindow("SwfWindow1").SwfTable("dgvChatingStatus").ClickCell abc,2'abc是个变量,由于等待用户很多,所以取其中一条数据,点击选种该数据
SwfWindow("SwfWindow1").SwfToolbar("tstMain").Press "开始对话"        '点击 《开始对话》按钮,会跳出一个对话框
SwfWindow("SwfWindow2").SwfEditor("tbxInput").object.text="aaa"     '这个是一个对话框,我往这个对话矿直接写如TEXT的值
SwfWindow("SwfWindow2").SwfObject("swfname:=panel2").SwfButton("regexpwndtitle:=发 送").WaitProperty "regexpwndtitle","发 送",1000000 '使用这个时间内是否出现发送这个控件,如果出现就直接点发送了,这个是因为当初会出现点错控件才写这个的,以为是由于速度太快控件还没出来,QTP才会点错控件。
SwfWindow("SwfWindow2").SwfObject("swfname:=panel2").SwfButton("regexpwndtitle:=发 送").Click  '这步就是会出错的地方了,持续一段时间后经常会点错控件,点到非“发送”控件上。

有没有办法判断是否点错,点错就点击错误对话框的“取消”,然后再点“发送”?
WaitProperty 这个方法能不能取得它所处理的真假值?
比如我使用0.1秒来判断是否点错的对话框出现了,不出现我就不执行操作,出现就执行取消?

出现错误后QTP执行指向点击“发送”那个

[ 本帖最后由 鹭岛 于 2008-3-13 14:15 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2008-3-14 09:12:28 | 只看该作者

    WaitProperty Method

    可以尝试WaitProperty,程序太慢/不稳定,不适合用工具。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2008-3-14 15:25:28 | 只看该作者
    程序不是慢,是快呀。。。。
    就是运行这个过程也就只要2秒左右吧。。。
    原本使用的是TYPE的输入,是键盘方式的输入,我修改成OBJECT了,直接附值属性后速度更快了,现在最关键的问题是QTP运行一段时间后(服务器端负载出现比较大的时候,而且有持续一段时间后)就会出现点错控件,也就是我明明写的是点“发送”  可QTP却将鼠标点击到其它控件上(而这些控件一点击就会出现一个BUTTON提示框的)
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2008-3-14 23:51:15 | 只看该作者
    点错了,是因为你的脚本没有达到预期的结果。还是考虑一下如何让 脚本不要点错吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2008-3-17 12:36:38 | 只看该作者
    原帖由 walker1020 于 2008-3-14 23:51 发表
    点错了,是因为你的脚本没有达到预期的结果。还是考虑一下如何让 脚本不要点错吧

    这个是一个NET的做的。
    我尝试过,使用X,Y去定位这个控件,可我运行的时候竟然认不到这个控件,我都加了属性名的NAME值还有Y坐标了,可我单独使用NAME值就可以认到,Y坐标是不改变的,仅仅是指窗口的那个发送的Y坐标,就算移动窗口Y也不会改变,可惜就是定位不到

    另外还有一个控件,我也使用属性去描述也一样不行,但使用录制就可以
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-3-18 15:24:01 | 只看该作者
    WaitProperty
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-3-19 17:34:50 | 只看该作者
    真的,好像.net开发的东西就不是很好的支持QTP吧!
    特别是一些UI上的元素,支持得很不好!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-20 14:38 , Processed in 0.072717 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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