51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4161|回复: 24
打印 上一主题 下一主题

[原创] 请教怎么录制日期并参数化?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-15 13:32:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问在下图日历中选择日期应该怎么录制脚本?怎么才能将其参数化?

下面是我录制的脚本,但只选择了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

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2007-1-15 14:07:10 | 只看该作者
随机月份
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
日的值比较麻烦,先判断多少天,还有闰月
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-1-15 14:33:08 | 只看该作者
谢谢了,我就是日的值不知道应该怎么设,麻烦帮帮忙,非常感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-1-15 14:41:56 | 只看该作者
先用GetROProperty产生的年份判断是否是闰年
只需确定2月有多少天就可以了,其他的都比较简单
然后再用SetTOProperty给日的值对应的属性赋值
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-1-15 15:01:10 | 只看该作者
能否用我上面的脚本给个实例呢?谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-1-15 15:10:31 | 只看该作者
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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-1-15 15:14:15 | 只看该作者
thank you very much!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-1-15 15:37:30 | 只看该作者
我将下面的语句加到脚本中时,提示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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-1-15 15:46:40 | 只看该作者
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属性字段要到对象库去看
如果是新建的脚本,还要把上面用到的对象添加到对象库
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-1-15 15:59:26 | 只看该作者
我这是我前几天录制的脚本。我触发了CLICK动作后,点Keyword view时还是提示syntax error,请看截图,黄色部分为修改的脚本

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-1-15 16:18:32 | 只看该作者
aa = Browser("Calendar").Page("Calendar").WinEdit(文本框名称).GetROProperty("XX")  
msgbox aa
先把显示年份的对象添加到对象库,这个要你到对象库去看的,显示年份的对象是什么类型,红色部分自己去对象库找,不一定是WinEdit类型
XX,XXX都要到对象库去找相对的属性字段
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-1-15 16:58:19 | 只看该作者
我又试了一下,
aa = Browser("Calendar").Page("Calendar").WinEdit("cpYear").GetROProperty("XX")  
msgbox aa

将msgbox aa删除后就不会报错了
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-1-15 17:30:54 | 只看该作者
我重新录制了一个关于日期的脚本,按您介绍的方法修改了脚本,运行时提示找不到"cpYear",附件为脚本和出错信息,请再帮我检查一下哪里出错了好吗?万分感谢!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-1-15 17:41:55 | 只看该作者
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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-1-15 17:46:36 | 只看该作者
谢谢答复,但改成"value"后运行仍然报错sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-1-15 17:48:17 | 只看该作者
注意那个不是WinEdit("cpYear"),而是WebEdit("cpYear")
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2007-1-15 17:52:21 | 只看该作者
运行到这步时就会报错:aa = browser("Calendar").Page("Calendar").WebEdit("cpYear").GetROProperty("value"),还是提示找不到"cpYear",请问怎么办呢?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-1-15 17:59:36 | 只看该作者
应该不会这样的,对象库里已经有cpYear了,重启QTP看看
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2007-1-15 18:05:26 | 只看该作者
非常感谢,运行时通过了。
但选择的日期并没有实现参数化,录制时是2006/2/15,运行时变成了2007/2/15,怎么才能在运行时将年、月、日都改变呢?
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2007-1-15 18:14:07 | 只看该作者
还有月份是随机生成的,但我想通过选择月份来实现月份的变化,该怎么处理呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 01:22 , Processed in 0.096354 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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