阎王告示 发表于 2006-12-14 19:01:50

Image("clock").Click问题

工具QTP9.0, 录制下图的那个被圈起的时钟图片,弹出一个用js写的时间选择器。
录制的脚本是:Browser("login").Page("20061213_12").Image("clock").Click
但是回放的时候,到这里时间还没来得及被写入,QTP就已经进行下一步了。我想set一个值可是不行。
各位高人,sdlkfj9 这种情况这么办?

[ 本帖最后由 阎王告示 于 2006-12-14 19:03 编辑 ]

denisye 发表于 2006-12-15 11:52:42

你说SET不了值,我想那个值是你点击了下面的具体的日期后自动产生到系统里面的吧?
换句话说,就是你回放的时候,页面点击下面具体日期控件不成功?
如果是这样的话,你可以用手工把具体日期的控件抓到对象库里
使用二楼说的方法,在Browser("login").Page("20061213_12").Image("clock").Click下面加wait
然后再手工把具体日期控件的点击操作写上
试一下能否解决问题

maguschen 发表于 2006-12-14 19:21:44

可以试一下wait(5)
让脚本等待一下

阎王告示 发表于 2006-12-15 11:27:29

我在Browser("login").Page("20061213_12").Image("clock").Click下面加了一行:
wait 20
而且时间也设置的比较大,但是它还是无法赋值。sdlkfj8

wuhuawu09 发表于 2006-12-15 11:36:09

是不是不支持JS脚本呀???

阎王告示 发表于 2006-12-15 11:37:32

不会吧,我测的这个项目,好多地方都是用js做的,都可以,就是这里不行而已。

思飞2006 发表于 2006-12-15 11:57:08

能具体点吗?时间没写入?写在哪的?能把代码发上来看看吗?

walker1020 发表于 2006-12-15 12:58:30

同意 denisye (denisye) 在 #6 的留言。这个日期控件是不运行你自己输入值的,也就是不能用
Set 来给它赋值的。你只能点击表示日期的值, 系统会自动把你点击的日期记录到上面的的输入框里。根据你的描述, QTP回放时 已经点击了日期控件,但没有把值放进去。你在安装Java Add-in 后此问题就解决了。

阎王告示 发表于 2006-12-15 15:14:16

我有一个QTP90Java82UPGRADE.exe,但是执行后说
1628:完成基于脚本的安装失败,
这个是QTP9.0自己带的。

xueboy118 发表于 2006-12-15 17:26:34

其实这个问题的解决是不需要安装java add-in的,这个问题曾经也困扰了我好久,不过已经解决了。方法如下:
先把日期控件的对象,就是那个被disable的文本框添加到对象库里并保存
在脚本里添加类似如下的语句
Browser("login").Page("20061213_12").WebEdit("termDate").Object.value="2006-12-12"
termDate就是添加到对像库中的那个被disable的文本框
脚本运行的时候,该条语句就会在不点击那个图片按钮的情况下,自动的把“2006-12-12”输入到被disable的文本框中 。

walker1020 发表于 2006-12-17 14:37:35

谢谢xueboy118 !非常感谢 xueboy118 的帮助! 按照 xueboy118 介绍的方法,是可以实现把日期输入到 日期控件的文本框里的。 楼主也可以试试 xueboy118 在 #10 介绍的方法。

hiyizhiyu 发表于 2006-12-18 11:32:39

好办法一个
HOHO

miniyal 发表于 2006-12-21 10:37:50

关注~

Coffey111111 发表于 2007-1-8 16:24:03

关注 ~~

viviv_wang 发表于 2007-1-12 16:07:04

楼主,我也遇到了类似的问题,还没解决.
过程是这样的:
browser().page().webedit().set str1
browser().page().frame().webedit().set str2
brwser().page().image().FireEvent "onmouseover"
browser().page().image().click
问题就出在image上,这个image只是个图片,他对应的脚本是:
<a id="blogSubmitA" href="#" tabindex="3" onclick="HandleBLOGArticle()" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image19','','images/creat_activity_13_1.gif',1)"><img src="images/creat_activity_13.gif" name="Image19" width="76" height="22" border="0" id="Image19" /></a></td>
也就是说是在内部动态创建了一个对象a,而我要怎么不模拟操作a.click呢?
还是有别的办法?
请大家帮忙给点意见.thx.

kaminlee 发表于 2007-1-13 10:53:59

回复 #2 maguschen 的帖子

请你不要介意我用很烂的英语来表达,当作写英语报告练习.
When it comes to use 'wait'method ,I find that inapplicable.
That's not the way I see fit.
We must wait until the object turn up.if passed 5 seconds,we still waiting forthe object ?
so we can make a judgement and defines a set of object to your ObjectRepository ,for example:
if object.exist then
......
   else
......
end if

kaminlee@163.com

刘洪鹏 发表于 2007-7-3 11:11:53

顶看了

紫慕 发表于 2007-7-5 15:10:35

学习了,呵呵

lxm_lxm 发表于 2008-10-13 16:11:13

这个问题正在困挠着我,有希望解决了,非常感谢!

zemg 发表于 2008-11-15 11:01:02

在点击那个时钟的时候 用低级录制 再点击日期 回放的时候 日期会填入啊
不晓得说的是不是一个意思:L
页: [1] 2
查看完整版本: Image("clock").Click问题