51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3541|回复: 17
打印 上一主题 下一主题

[求助] 刚学QTP就碰到个麻烦的问题~~继续请教中~

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-6-2 16:33:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当我在这个页面选中 aanew w2这一项时,录下的脚本是这个
Dialog("Select Project to Login").WinTreeView("Open issues owned by anewa ").Select "aanew W2"
但回放时说不能识别
我想是不是因为这个WinTreeView的控件名不固定造成的? 因为它后面还跟着登录的时间 请看图
请问,那我应该怎么做才能正确回放?


顺便问问,像这种winTreeView里的双击事件貌似回放时也不支持,有什么办法解决么?继续

[ 本帖最后由 whmbboy 于 2009-6-4 08:49 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-6-2 17:28:53 | 只看该作者
你脚本中的那个WinTreeView对象是哪个?我怎么看着应该是下面的那个下拉列表框啊,和上面你标红线的地方貌似没什么关系。
winTreeView控件如果提供了双击事件,那么它应该是支持的。如果说不支持的解决方法,还得麻烦楼主把你的脚本、错误提示、截图贴出来,不是给你找麻烦,没有这些信息的话让别人怎么分析啊?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-6-2 17:41:26 | 只看该作者
我觉得WinTreeView 读的ms 是 “Open issues owned by anewa anewa (Date and Time), 因为时间和日期是在变化的,所以你运行的时候,QTP 有可能读出的属性是不正确的,所以出了问题。如果想让QTP 认出来的话,建议你把Date and time) 那块用变量代替,然后变量的值是当前日期和时间。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-6-2 17:56:38 | 只看该作者
看一下你语句中两个对象是不是和时间有关系,不能单纯用界面上的去判断的。

1楼正解
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-6-2 18:17:41 | 只看该作者
用别的工具很多,不知道这里可不可以用通配符
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-2 19:59:16 | 只看该作者
Dialog("Select Project to Login").WinTreeView("Open issues owned by anewa ").Select "aanew W2"
1.如果 WinTreeView的控件名是动态的话,使用正则表达式.
2.确定你的对象值是aanew W2;是实际代码中的值,而不是界面上的。可以用SPY来检查。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2009-6-2 21:27:59 | 只看该作者
    试试描述性编程
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2009-6-3 09:12:33 | 只看该作者
    原帖由 dreamever 于 2009-6-2 17:28 发表
    你脚本中的那个WinTreeView对象是哪个?我怎么看着应该是下面的那个下拉列表框啊,和上面你标红线的地方貌似没什么关系。
    winTreeView控件如果提供了双击事件,那么它应该是支持的。如果说不支持的解决方法,还得麻 ...



    1. 我录的那个脚本是在执行选择那个item时的,下面的下拉框的脚本是这个
    Dialog("Select Project to Login").WinComboBox("Select Project:").Select "aanew W2" 能正常回放

    2. 不好意思,附上脚本的出错信息

    Object SPY 查看这个控件属性如图



    3.描述性程序还不大会,还望大大们指点啊·

    [ 本帖最后由 whmbboy 于 2009-6-3 09:16 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-6-3 17:38:21 | 只看该作者
    Dim a, b
    a=Date()
    b=Time()
    Dialog("Select Project to Login").WinTreeView("attached text:=Open issues owned by anewa anewa (" &a &" " &b &")").Select "aanew W2" 不晓得这样可不可以。
    我正则表达式也不是很熟,目前只想到这个比较笨的办法。如果正则表达式比较熟悉的话,应该是最有效的方法了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-6-3 18:06:26 | 只看该作者
    不要用attached text来识别那个下拉列表了,用Class Name吧,毕竟你的那个界面只有一个下拉列表,即使用Class Name应该会只识别出一个对象来,不会混淆。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2009-6-3 20:38:29 | 只看该作者
    刚运行了 saryzhang大哥的脚本,还是不能通过。。。
    偶是菜鸟啊。。。啥是正则表达式都不知道~~呵呵

    还有啊,请教下dreamever,用Class Name 我应该怎么做?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-6-4 15:19:23 | 只看该作者
    声明一下我不是大哥,是个girl,呵呵。
    你的不过报的错和以前是一样的吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2009-6-4 18:22:30 | 只看该作者
    看不到图。。。如果控件名称是变化的,在对象仓库里将控件名参数化。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-6-5 09:24:25 | 只看该作者
    原帖由 saryzhang 于 2009-6-3 17:38 发表
    Dim a, b
    a=Date()
    b=Time()
    Dialog("Select Project to Login").WinTreeView("attached text:=Open issues owned by anewa anewa (" &a &" " &b &")").Select "aanew W2" 不晓得这样可不可以。
    我正则表达式也不 ...

    问题出在a=Date(),b=Time()获取的时间格式和 对象属性描述的时间格式不一致:  一个是YYYY-MM-DD,另外一个是YY/MM/DD,所以无法识别到对象,后面的hh:mm:ss 也要做修改,最后还有个上午,下午的判定
    应该将 DATE和TIME获取的时间函数做字符喘处理:
    a=mid(year(date),3,2)&"/"&month(date)&"/"&day(date),抛砖引玉,后面的相信LZ可以自己做相应修改了吧.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2009-6-5 09:27:34 | 只看该作者
    还是有缺陷,当月份和日期为小于10的时候,返回是"X"而不是"0X",所以还是要加上判断再做处理.
    是否可以尝试用其他属性去描述,因为时间这个不确定因素太大,也许系统处理时间有间隔,导致返回值和实际对象属性之间产生偏差.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-6-5 15:59:50 | 只看该作者
    原帖由 blizzardlyk 于 2009-6-5 09:27 发表
    还是有缺陷,当月份和日期为小于10的时候,返回是"X"而不是"0X",所以还是要加上判断再做处理.
    是否可以尝试用其他属性去描述,因为时间这个不确定因素太大,也许系统处理时间有间隔,导致返回值和实际对象属性之间产生偏 ...

    大家可以尝试使用如下代码来格式化系统时间
    Set objTime=DotNetFactory.CreateInstance("System.DateTime")
    objTime.Now.toString("MM/dd/yyyy h:mm:ss tt")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2009-6-7 12:15:11 | 只看该作者

    回复 12# 的帖子

    Ho..
    Sorry...

    谢谢大家
    看来真遇到个麻烦问题。。呵呵。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-6-7 15:24:54 | 只看该作者
    还的确挺菜的菜鸟,
    正则表达匹配是常用的功能了.
    这样,你看我附件中的图片,设置attached text属性值的正则表达式,并且吧多余的属性删除就可以了.记住,那个勾也是必须勾上的.
    最简单的正则就是吧不确定的都匹配掉,就不用考虑格式问题. .

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 15:46 , Processed in 0.080055 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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