51Testing软件测试论坛

标题: 请问FireEvent中x,y表示什么? [打印本页]

作者: mjji23    时间: 2007-8-15 11:46
标题: 请问FireEvent中x,y表示什么?
请问大家:
(1)qtp中,weblist("Name").FireEvent "onclick",x,y 这个函数的x表示的是weblist的横坐标吗?

(2)如果我想让onclick事件发生在weblist的某个选项上,应该怎样写呢吗?


[ 本帖最后由 mjji23 于 2007-8-15 11:48 编辑 ]
作者: bobile    时间: 2007-8-15 12:42
是屏幕的坐标吧
作者: bobile    时间: 2007-8-15 12:42
哦,错了,是你选择物体的坐标
作者: walker1020    时间: 2007-8-15 12:51
FireEvent  这个函数在 QTP的帮助里面有说明吧
作者: surlary    时间: 2007-8-15 14:38
是因为WebList的Select方法不能用吗?为什么要用FireEvent实现?
作者: mjji23    时间: 2007-8-15 23:18
是啊,select方法无效啊

帮助里面也没有说清楚啊
作者: zengfanjin5588    时间: 2007-8-16 11:04
不懂意思
作者: zengfanjin5588    时间: 2007-8-16 11:06
赶紧赚积分
作者: surlary    时间: 2007-8-16 11:30
原帖由 mjji23 于 2007-8-15 23:18 发表
是啊,select方法无效啊

帮助里面也没有说清楚啊


能否把你相关的脚本贴出来?
作者: mjji23    时间: 2007-8-16 16:01
如下两张图片,先选择上面图片中的weblist,接着就触发下面一张图片的weblist


第一个weblist :  [attach]31209[/attach]

第二个weblist:
                      [attach]31210[/attach]


我想用onclick事件,直接点击到第二个weblist的“0 - 不记名”。
因为,如果用select的话,该下拉菜单无法缩回去,会影响其他控件的正确输入

脚本:
Browser("演示系统").Page("演示系统_2").Frame("mainFrame").WebList("permark").FireEvent "onfocus"  (permark表示第一个weblist)
Set wshell=createobject("WScript.Shell")
wshell.sendkeys "{ENTER}"
Browser("演示系统").Page("演示系统_2").Frame("mainFrame").WebList("saletype").FireEvent "onclick"   (这是第二个weblist)
作者: mjji23    时间: 2007-8-16 16:05
还想请教大家一个问题:

object.FireEvent "onclick"与object.click有什么区别呢?
作者: surlary    时间: 2007-8-16 16:44
你是说第一个WebList用Select的话无法自动缩回去?
那第二个WebList为什么不用Select呢?

fireEvent可以理解成直接调用object产生该动作的处理函数而不真正的去触发这个动作。
作者: mjji23    时间: 2007-8-17 09:49
(1)不好意思,我没说清楚

是第二个weblist没有缩回去

如果第二个weblist用select的话,还是没有缩回去



(2)对FireEvent的认识加深了,谢谢!

[ 本帖最后由 mjji23 于 2007-8-17 10:02 编辑 ]
作者: surlary    时间: 2007-8-17 10:03
你试试在Tools\Options\Web\Advanced\Run Setting\Replay Type改成Event,然后用Select方法有没有问题。
作者: mjji23    时间: 2007-8-17 10:07
我试了,还是不行
作者: surlary    时间: 2007-8-17 11:05
方便的话请提供一下页面的源码。
作者: mjji23    时间: 2007-8-20 09:44
哦,可能不太好,呵呵,谢谢了
作者: kangaroo    时间: 2007-8-20 14:18
qtp中,weblist("Name").FireEvent "onclick",x,y
我知道X,Y是所选择物体的坐标,但不知这对数字是怎么个算法得出来的呢?
比如说,在不同大小、分辨率的屏上做相同的操作,得到的X,Y值还是一样的吗?
作者: luofeng    时间: 2007-8-20 15:41
学习
作者: surlary    时间: 2007-8-20 17:22
标题: 回复 #18 kangaroo 的帖子
在这个FireEvent里,x和y所指的不是这个对象的坐标而是在这个对象上的x,y坐标触发事件。细节请参考帮助文档。
作者: mjji23    时间: 2007-8-20 17:44
不是很明白surlary的意思。

我刚才看了一下帮助,里面说x坐标: The x-coordinate, relative to the upper left corner of the object.

那么x为什么不是该对象的横坐标呢?
作者: walker1020    时间: 2007-8-20 23:16
The x-coordinate, relative to the upper left corner of the object.

x 是相对坐标,是相对于对象的左上脚的坐标。




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