刚学QTP就碰到个麻烦的问题~~继续请教中~
当我在这个页面选中 aanew w2这一项时,录下的脚本是这个Dialog("Select Project to Login").WinTreeView("Open issues owned by anewa ").Select "aanew W2"
但回放时说不能识别
我想是不是因为这个WinTreeView的控件名不固定造成的? 因为它后面还跟着登录的时间 请看图
请问,那我应该怎么做才能正确回放?
http://p0.images22.51img1.com/6000/whmbboy/04e984c007efdc65fb3e82c2f4222b22.jpg
顺便问问,像这种winTreeView里的双击事件貌似回放时也不支持,有什么办法解决么?继续
[ 本帖最后由 whmbboy 于 2009-6-4 08:49 编辑 ] 你脚本中的那个WinTreeView对象是哪个?我怎么看着应该是下面的那个下拉列表框啊,和上面你标红线的地方貌似没什么关系。
winTreeView控件如果提供了双击事件,那么它应该是支持的。如果说不支持的解决方法,还得麻烦楼主把你的脚本、错误提示、截图贴出来,不是给你找麻烦,没有这些信息的话让别人怎么分析啊? 我觉得WinTreeView 读的ms 是 “Open issues owned by anewa anewa (Date and Time), 因为时间和日期是在变化的,所以你运行的时候,QTP 有可能读出的属性是不正确的,所以出了问题。如果想让QTP 认出来的话,建议你把Date and time) 那块用变量代替,然后变量的值是当前日期和时间。 看一下你语句中两个对象是不是和时间有关系,不能单纯用界面上的去判断的。
1楼正解 用别的工具很多,不知道这里可不可以用通配符 Dialog("Select Project to Login").WinTreeView("Open issues owned by anewa ").Select "aanew W2"
1.如果 WinTreeView的控件名是动态的话,使用正则表达式.
2.确定你的对象值是aanew W2;是实际代码中的值,而不是界面上的。可以用SPY来检查。 试试描述性编程 原帖由 dreamever 于 2009-6-2 17:28 发表 http://bbs.51testing.com/images/common/back.gif
你脚本中的那个WinTreeView对象是哪个?我怎么看着应该是下面的那个下拉列表框啊,和上面你标红线的地方貌似没什么关系。
winTreeView控件如果提供了双击事件,那么它应该是支持的。如果说不支持的解决方法,还得麻 ...
1. 我录的那个脚本是在执行选择那个item时的,下面的下拉框的脚本是这个
Dialog("Select Project to Login").WinComboBox("Select Project:").Select "aanew W2" 能正常回放
2. 不好意思,附上脚本的出错信息
http://p6.images22.51img1.com/6000/whmbboy/67f004c6e6cb95fece5a64c957c9ca18.jpg
Object SPY 查看这个控件属性如图
http://p4.images22.51img1.com/6000/whmbboy/45058656a4bb95a289e92f4f82429acb.jpg
3.描述性程序还不大会,还望大大们指点啊·
[ 本帖最后由 whmbboy 于 2009-6-3 09:16 编辑 ] 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" 不晓得这样可不可以。
我正则表达式也不是很熟,目前只想到这个比较笨的办法。如果正则表达式比较熟悉的话,应该是最有效的方法了。 不要用attached text来识别那个下拉列表了,用Class Name吧,毕竟你的那个界面只有一个下拉列表,即使用Class Name应该会只识别出一个对象来,不会混淆。 刚运行了 saryzhang大哥的脚本,还是不能通过。。。
偶是菜鸟啊。。。啥是正则表达式都不知道~~呵呵
还有啊,请教下dreamever,用Class Name 我应该怎么做?
:lol 声明一下我不是大哥,是个girl,呵呵。
你的不过报的错和以前是一样的吗? 看不到图。。。如果控件名称是变化的,在对象仓库里将控件名参数化。 原帖由 saryzhang 于 2009-6-3 17:38 发表 http://bbs.51testing.com/images/common/back.gif
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可以自己做相应修改了吧. 还是有缺陷,当月份和日期为小于10的时候,返回是"X"而不是"0X",所以还是要加上判断再做处理.
是否可以尝试用其他属性去描述,因为时间这个不确定因素太大,也许系统处理时间有间隔,导致返回值和实际对象属性之间产生偏差. 原帖由 blizzardlyk 于 2009-6-5 09:27 发表 http://bbs.51testing.com/images/common/back.gif
还是有缺陷,当月份和日期为小于10的时候,返回是"X"而不是"0X",所以还是要加上判断再做处理.
是否可以尝试用其他属性去描述,因为时间这个不确定因素太大,也许系统处理时间有间隔,导致返回值和实际对象属性之间产生偏 ...
大家可以尝试使用如下代码来格式化系统时间
Set objTime=DotNetFactory.CreateInstance("System.DateTime")
objTime.Now.toString("MM/dd/yyyy h:mm:ss tt")
回复 12# 的帖子
Ho..Sorry...
谢谢大家
看来真遇到个麻烦问题。。呵呵。。。:victory: 还的确挺菜的菜鸟,
正则表达匹配是常用的功能了.
这样,你看我附件中的图片,设置attached text属性值的正则表达式,并且吧多余的属性删除就可以了.记住,那个勾也是必须勾上的.
最简单的正则就是吧不确定的都匹配掉,就不用考虑格式问题. .
页:
[1]