51Testing软件测试论坛

标题: 请教怎么录制日期并参数化? [打印本页]

作者: madeleine    时间: 2007-1-15 13:32
标题: 请教怎么录制日期并参数化?
请问在下图日历中选择日期应该怎么录制脚本?怎么才能将其参数化?

下面是我录制的脚本,但只选择了Aug 3 2006,怎样录制才能显示不断变化的年、月、日呢?比如当前日期、大于当前日期、小于当前日期

Browser("Service Management System").Page("Service Management System_2").Frame("mainFrame_6").Image("calendar").Click
Browser("Calendar").Page("Calendar").Link("<").Click
Browser("Calendar").Page("Calendar").WebList("cpMonth").Select "August"
Browser("Calendar").Page("Calendar").Link("3").Click
作者: sidneylover    时间: 2007-1-15 14:07
随机月份
Browser("Calendar").Page("Calendar").WebList("cpMonth").Select randomnumber(0,11)
年 下面的只能实现增加或减少的年份为1,年份应该可以通过文本框直接输入一个随机数
i = randomnumber(1,2)
select case i
case 1
  Browser("Calendar").Page("Calendar").Link("<").Click
case 2
  Browser("Calendar").Page("Calendar").Link(">").Click
日的值比较麻烦,先判断多少天,还有闰月
作者: madeleine    时间: 2007-1-15 14:33
谢谢了,我就是日的值不知道应该怎么设,麻烦帮帮忙,非常感谢!
作者: sidneylover    时间: 2007-1-15 14:41
先用GetROProperty产生的年份判断是否是闰年
只需确定2月有多少天就可以了,其他的都比较简单
然后再用SetTOProperty给日的值对应的属性赋值
作者: madeleine    时间: 2007-1-15 15:01
能否用我上面的脚本给个实例呢?谢谢了!
作者: sidneylover    时间: 2007-1-15 15:10
aa = Browser("Calendar").Page("Calendar").WinEdit.GetROProperty("XX")  XX是显示年份文本框里对应2007的属性
msgbox aa ‘看看取出来的值是否正确
Browser("Calendar").Page("Calendar").Link("3").SetTOProperty "xxx","i"  xxx就是日的值对应的属性,i日期随机数

[ 本帖最后由 sidneylover 于 2007-1-15 15:16 编辑 ]
作者: madeleine    时间: 2007-1-15 15:14
thank you very much!
作者: madeleine    时间: 2007-1-15 15:37
我将下面的语句加到脚本中时,提示syntax error,再请教一下我是哪里弄错了?谢谢!

Browser("Service Management System").Page("Service Management System_2").Frame("mainFrame_6").Image("calendar").Click
aa = Browser("Calendar").Page("Calendar").WinEdit.GetROProperty("XX")  
msgbox aa 
Browser("Calendar").Page("Calendar").WebList("cpMonth").Select randomnumber(0,11)
Browser("Calendar").Page("Calendar").Link("3").SetTOProperty "xxx","i"

[ 本帖最后由 madeleine 于 2007-1-15 15:46 编辑 ]
作者: sidneylover    时间: 2007-1-15 15:46
Browser("Calendar").Page("Calendar").Link("3").GetROProperty "xxx","i" 写错了

Browser("Calendar").Page("Calendar").Link("3").SetTOProperty "xxx","i"
赋值后还要触发CLICK动作
Browser("Calendar").Page("Calendar").Link("3").Click
XXX属性字段要到对象库去看
如果是新建的脚本,还要把上面用到的对象添加到对象库
作者: madeleine    时间: 2007-1-15 15:59
我这是我前几天录制的脚本。我触发了CLICK动作后,点Keyword view时还是提示syntax error,请看截图,黄色部分为修改的脚本
作者: sidneylover    时间: 2007-1-15 16:18
aa = Browser("Calendar").Page("Calendar").WinEdit(文本框名称).GetROProperty("XX")  
msgbox aa
先把显示年份的对象添加到对象库,这个要你到对象库去看的,显示年份的对象是什么类型,红色部分自己去对象库找,不一定是WinEdit类型
XX,XXX都要到对象库去找相对的属性字段
作者: madeleine    时间: 2007-1-15 16:58
我又试了一下,
aa = Browser("Calendar").Page("Calendar").WinEdit("cpYear").GetROProperty("XX")  
msgbox aa

将msgbox aa删除后就不会报错了
作者: madeleine    时间: 2007-1-15 17:30
我重新录制了一个关于日期的脚本,按您介绍的方法修改了脚本,运行时提示找不到"cpYear",附件为脚本和出错信息,请再帮我检查一下哪里出错了好吗?万分感谢!
作者: sidneylover    时间: 2007-1-15 17:41
aa = browser("Calendar").Page("Calendar").WebEdit("cpYear").GetROProperty("value")

browser("Calendar").Page("Calendar").Link("15").SetTOProperty "text",15 有错的话15加双引号试试,不行就转换成字符型。。。

[ 本帖最后由 sidneylover 于 2007-1-15 17:47 编辑 ]
作者: madeleine    时间: 2007-1-15 17:46
谢谢答复,但改成"value"后运行仍然报错sdlkfj9
作者: sidneylover    时间: 2007-1-15 17:48
注意那个不是WinEdit("cpYear"),而是WebEdit("cpYear")
作者: madeleine    时间: 2007-1-15 17:52
运行到这步时就会报错:aa = browser("Calendar").Page("Calendar").WebEdit("cpYear").GetROProperty("value"),还是提示找不到"cpYear",请问怎么办呢?
作者: sidneylover    时间: 2007-1-15 17:59
应该不会这样的,对象库里已经有cpYear了,重启QTP看看
作者: madeleine    时间: 2007-1-15 18:05
非常感谢,运行时通过了。
但选择的日期并没有实现参数化,录制时是2006/2/15,运行时变成了2007/2/15,怎么才能在运行时将年、月、日都改变呢?
作者: madeleine    时间: 2007-1-15 18:14
还有月份是随机生成的,但我想通过选择月份来实现月份的变化,该怎么处理呢?
作者: sidneylover    时间: 2007-1-15 18:16
不想随机生成直接进入KEYWORD VIEW里面把cpYear,cpMonth参数化就行了
作者: madeleine    时间: 2007-1-16 09:26
谢谢sidneylover的指教!sdlkfj2
作者: madeleine    时间: 2007-1-16 09:27
能否再请教一下,如果我想设置系统当前日期、大于当前日期、小于当前日期又应该怎么设置呢?
作者: 风过无息    时间: 2007-1-16 09:55
当前日期用date
大于当前日期就date+1
小于就date-1
具体例子:
d1=date
d2=date-1
d3=date+1
msgbox("当前时间是:"&d1)
msgbox("小于当前时间是:"&d2)
msgbox("大于当前时间是:"&d3)
作者: madeleine    时间: 2007-1-16 10:06
谢谢风过无息的指教!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2