51Testing软件测试论坛

标题: Robot参数化问题 [打印本页]

作者: tongfenglcz    时间: 2005-7-26 19:02
标题: Robot参数化问题
录制的是调整系统当前时间的GUI脚本
比如当前时间是2005年7月26日,将时间改为2005年07月29日 的脚本怎么样设置参数才能保证 每次回放都能将系统时间调整成当前时间+3呢?
Sub Main
    Dim Result As Integer

    'Initially Recorded: 2005-7-23  16:48:07
    'Script Name: test
   
    Window SetContext, "Class=Shell_TrayWnd", ""
    GenericObject DblClick, "Text=16:48", "Coords=24,6"
   
    Window SetContext, "Caption=日期/时间 属性", ""
    Calendar Click, "Text=2005年7月29日", "Coords=57,90"
    PushButton Click, "Text=确定"

End Sub
谢谢!!!
作者: tongfenglcz    时间: 2005-7-26 19:03
对选择框内容,和小日历选择的日期如何参数化?
除了input型的外都不是很明白怎么参数化?大家有相关资料么?
作者: ilovejolly    时间: 2005-7-27 09:24
先把精华区的东西看一遍吧
作者: 司空公子    时间: 2005-7-29 10:48
用date获取当前时间,然后转化成你需要的格式,再进行操作
作者: Vitamin    时间: 2005-7-29 13:07
StartApplication "C:\WINNT\system32\cmd.exe"
   
    Window SetContext, "Caption=C:\WINNT\system32\cmd.exe", ""
    Window Click, "", "Coords=323,60"
    InputKeys "date{ENTER}"

我只能做到这里,看到系统时间,但是如何获取和转化希望高手能够指点
作者: tongfenglcz    时间: 2005-7-29 13:22
还有一种是:

    HTMLImage Click, "Type=HTMLImage;HTMLText=弹出日历下拉菜单", "Coords=8,9"
    HTML Click, "Type=HTML;HTMLId=cellText;Index=34", "Coords=7,10"

这里index=34就是表示一个日期,这种就是根本不用text的形式显示取得的日期的怎么参数化啊?

index取得的值就是日期所在的位置,一般在1-42之间
我现在想使脚本取得当前系统时间+3的值(index取得的值都是当前日期后3天的值),我该怎么办?

[ Last edited by tongfenglcz on 2005-7-29 at 13:38 ]
作者: ilovejolly    时间: 2005-7-29 14:18
1 脚本运行到打开系统时间没问题吧,然后把当前时间(string)存到一个变量里,取表示日期的那两位(这些都有函数可以实现,去看帮助),然后加3,还要判断是不是超过这个月了,超过这个月了就要把月份下拉框的index+1,全部功能做出来很麻烦,而且没什么用,不赘叙
2 不同控件属性不一样的,我们公司的日历属性是id,从0开始一直加,index应该也一样,你得到这个index的值(别说这个函数不会用),加3,还是跟上面一样判断,就可以了
其实这两个例子没什么意义

[ Last edited by ilovejolly on 2005-7-29 at 14:45 ]
作者: tongfenglcz    时间: 2005-7-29 15:54
To ilovejolly:
谢谢您的耐心指导,这俩例子现在对于我很有用。因为我所测试的系统涉及了这个问题。但是你所讲的我还是不能完全消化,因为我函数方面的应用能力不强,我还是再看看相关函数。谢谢你!!!


实现起来是繁琐,但我们项目经理让我必须实现。。。。
作者: ilovejolly    时间: 2005-7-29 17:22
我kao,你们经理太叼了吧,我再说细一点,不过还是没具体的代码
打开时间后可以得到itemselected的值就是当前时间,用取位(left,mid,right)取表示日期的两位数字,加3,Calendar Click, "Text=加3后的日期", "",注意数字和字符串的转换,不然编译可以通过但是找不到object的

自动化用在这上面是费力不讨好
作者: Vitamin    时间: 2005-8-1 11:29
Originally posted by ilovejolly at 2005-7-29 02:18 PM:
1 脚本运行到打开系统时间没问题吧,然后把当前时间(string)存到一个变量里,取表示日期的那两位(这些都有函数可以实现,去看帮助),然后加3,还要判断是不是超过这个月了,超过这个月了就要把月份下拉框的ind ...


问题是我就是不知道用什么方法能够把我看到的系统时间取出来!
后面的我知道怎么做

帮忙给个建议吧!
作者: ilovejolly    时间: 2005-8-1 11:33
不用在cmd里面看哦,sqa里面有获得当前时间的函数的
作者: 司空公子    时间: 2005-8-1 12:48
dim CurrentDate as string
CurrentDate=Date '获取当前系统日期,默认格式为yyyy-mm-dd
CurrentDate=DateValue(CurrentDate)+3 '得到三天后的日期
CurrentDate=Format$(CurrentDate, "mm/dd/yy") '更改日期格式,可以参考format的帮助
作者: Vitamin    时间: 2005-8-1 17:36
我好笨呀!
不好玩拉!
作者: wsly    时间: 2005-8-2 13:08
我以前写过的脚本里 刚好有 相同的内容, 你看看:

'############################################   
   'Following set system date to builddate.
    Dim BuildDate , Curdate as string
    Curdate=str(date)   
    BuildDate= filedatetime (buildfolder+"\"+buildno+"\"+"probe-win.exe")
    BuildDate= Getfield ( BuildDate,1," ")
    if Curdate <> BuildDate  then
        StartApplication SystemRoot+"\system32\CMD.EXE "         
        Window SetContext, "Caption={*CMD.EXE}", ""
        Inputchars "date "+BuildDate
        InputKeys "{ENTER}"
        InputKeys "exit+{ENTER}"        
    end if
作者: 无痕    时间: 2008-8-13 13:07
多谢楼主




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