51Testing软件测试论坛

标题: 请教一个关于如何录制跳出的对话框(已经截好图勒,请大侠们帮忙看一下啦!) [打印本页]

作者: wangdongting    时间: 2008-7-10 16:02
标题: 请教一个关于如何录制跳出的对话框(已经截好图勒,请大侠们帮忙看一下啦!)
今天又发现一个问题,希望有高手帮我看看。。。
在录制选择时间的时候,我先点击下面的图的按钮,
[attach]43849[/attach]
实际上还会出现这个选择时间的框,但是在录制的时候没有录进去
[attach]43850[/attach],
有谁能帮我看看吗?我应该怎么做。
下面的是截图
1.在选择日期前的
2.在点击旁边的按钮后的,截图
3.选好时间后的截图



[ 本帖最后由 wangdongting 于 2008-7-11 14:24 编辑 ]
作者: centurystone    时间: 2008-7-10 17:17
以前偶也遇到过这问题,没解决了,不过有个方法可以间接的实现.
如果那个日期对话框是可录入的,在没其他解决方案之前可以考虑使用WebEdit的方式编写或录制自动化脚本.
作者: 假装不在    时间: 2008-7-10 17:22

你的脚本里面,录制的结果估计是这样的:
browser(".....")page(".....").image(".....").click
browser(".....")page(".....").link("....").click

你可以这么做,就是参数化掉那个link或者描述出来:
browser(".....")page(".....").image(".....").click
browser(".....")page(".....").link("text:="&某个日期).click
作者: centurystone    时间: 2008-7-10 17:33
标题: 回复 3# 的帖子
偶以前录过一个这样的日期框,点日期的按钮有记录,而点弹出的日历貌似QTP没给记录啊,不知道楼主是不这个意思
作者: wangdongting    时间: 2008-7-10 17:46
标题: 回复 4# 的帖子
你好,是的,我的情况应该和你的一样,那个弹出的框,qtp没有记录下来,请问你当时是怎么解决的?
作者: wangdongting    时间: 2008-7-10 17:51
谢谢阿。我试了一下你说的,可是还是会出错:
Object's physical description:
Text = 07072008
Mercury Class = Link

某个日期写成20080711,可以吗?

还有就是browser(".....")page(".....").link("text:="&某个日期).click这句话我是没有的

[ 本帖最后由 wangdongting 于 2008-7-10 17:52 编辑 ]
作者: zte_boy    时间: 2008-7-10 17:54
如果你只是为了赋值,而不是测试这个日期空间是否可用,直接用objcet.value="2008-07-10"之类就好了
作者: 假装不在    时间: 2008-7-10 17:55
既然它的text是那个格式,哪么你就按照那个格式去写吧。
1,不过在写这个之前,我建议你,如果webedit是可输入的,你可以先通过webedit.set的方式去做。
2,如果不行再考虑用你现在的办法,用选择的。
3,browser(".....")page(".....").image(".....").click
browser(".....")page(".....").link("text:=07072008").click
作者: wangdongting    时间: 2008-7-10 18:15
为什么啊,
1.objcet.value="2008-07-10"
2.webedit.set
3.link("text:=07072008").
三个都试过了,还是不行啊 有没有其他的方法啊
作者: 假装不在    时间: 2008-7-10 18:21

你要不用sky,然后点击某个日期,把它们的对象截图出来给大家看看。
是QTP识别不了你的对象还是你的对象描述错误。

还有把某个日期的link的属性切出来给大家瞧瞧,别害羞。
作者: zte_boy    时间: 2008-7-10 18:26
通过直接给对象赋值没有理由不可以的,你是不是搞错了
作者: wangdongting    时间: 2008-7-11 09:50
好的谢谢各位,我在录制的时候,只有这两句
Browser("。。。").Page("。。。").Image("calendar").Click
Browser("。。。").Page("。。。").Image("calendar_2").Click
作者: centurystone    时间: 2008-7-11 11:29
比如:
Browser("......").Page("......").WebEdit("文本框的name值").Set "2008-07-01"
这样试下
作者: 假装不在    时间: 2008-7-11 11:58
你那个下拉下来的日历框框,不是被识别成一个img对象吧,那你就难搞了。
作者: 学会洒脱    时间: 2008-7-11 13:28
学习....
作者: wangdongting    时间: 2008-7-11 14:26
标题: 回复 13# 的帖子
谢谢,试过了,这个不行呐。。。
作者: wangdongting    时间: 2008-7-11 14:43
标题: 回复 14# 的帖子
好像是滴,那请问有什么好的方法可以解决的吗?
作者: wangdongting    时间: 2008-7-11 14:50
这个日历的框框是一个弹出的对话框,而且在录制的时候这个框框是没有录制到的,所以run时也会有问题的,哎 怎么改呢
作者: zbyufeifei    时间: 2008-7-11 14:53
那个应当是JS编写的一个日期控件吧。
1.先把前面的那个WebEdit对象加在对象库中。
2.用#13的方法写语句:
Browser("XXX").Page("XXX").Frame("XXX").WebEdit("XXX").Set "XXXX-XX-XX"
就可以了,后面的那个要与你的日期控件的日期格式一致。
作者: lingxin5013    时间: 2008-7-11 15:17
非要在日历中选吗可以看了你的日期格式 我的思路是获取当前的日期输入格式为 如2008-07-19
dim myyaer,mymonth,myday,mydate
myyear=year(date)
mymonth=month(date)
myday=day(date)
if mymonth<10 and myday<10  then
   mydate=myyear&"-0&mymonth&"-0"myday
else if
     mymonth>=10 and myday>=10  then
  mydate=myyear&"-"&mymonth&"-"&myday
else if
             mymonth>=10 and myday<10  then
    mydate=myyear&"-"&mymonth&"-0"myday
else if
     mymonth<10 and myday>=10  then
  mydate=myyear&"-0"&mymonth&"-"myday
  end if
         end if
               end if
                     end if
Browser("......").Page("......").WebEdit("文本框的name值").Set mydate
结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束 结束
作者: lingxin5013    时间: 2008-7-11 15:18
不好意思 丢了连子符 LZ你加加吧 呵呵 搞快了
作者: wangdongting    时间: 2008-7-11 15:29
标题: 回复 20# 的帖子
不行呐,我的问题是再录制的时候这个框框根本就没有录进去啊,所以,这句话加上去的也是错的呐。。。
作者: wangdongting    时间: 2008-7-11 16:03
thanks every body!对了,哈哈 不报错了
作者: lingxin5013    时间: 2008-7-12 03:48
日哦
LZ 给我个小红花




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