1316016 发表于 2010-9-10 18:33:28

为什么QTP运行的结果和手动的不一样

大家是否有遇到这样的情况,用手动操作得到结果A, 但是用QTP运行结果就不同呢?

具体点,点击某个Button, 手动操作会跳转/弹出一个新的页面,但是QTP对同样的对象操作,不会跳转/弹出也面,请问是什么原因呢?

TIB 发表于 2010-9-10 21:20:13

确实会有这样的情况,表明QTP并没有真正点击该按钮,可能需要对这个对象进行特殊处理

blizzardlyk 发表于 2010-9-11 08:05:21

有时候页面上的Button,存在嵌套控件,视觉上是看不出来的。建议用SPY察看一下。
并且,如果是WebElement的话,可以尝试用Fireevent 来操作。 QTP回放不成功,说明单纯的Click并没有激活控件对应的事件。因为QTP封装的Click方法,并不是单纯的点击鼠标,而有可能直接调用对象的接口。

sterson 发表于 2010-9-12 11:58:43

呵,可能是该控件不是普通的html控件,QTP虽然可以录制动作,但无法触发事件
所以可以尝试手工添加触发事件来解决,或给动作写上参数,比如右击等

杨柳 发表于 2010-9-12 22:13:39

回复 1# 的帖子

会有这样的情况
这个时候就要用到:步骤添加器,重新添加漏了的操作或步骤

lyscser 发表于 2010-9-14 08:15:28

QTP操作页面是基于事物消息的,并非单纯的keyboard或者mouse操作
或者你可以直接理解为它调用操作系统UI封装的方法去对对象进行操作的,如果碰到QTP回放和手工不一样的时候:
1、要求开发改程序,因为可能存在安全隐患
2、使用键盘模拟去操作,当然键盘模拟之前必须捕获焦点:用appactivate方法,用法去百度知道吧,地球人都会

acj14591 发表于 2010-9-14 09:47:10

QTP的初级问题

我在录制飞机订票实例程序,在输入用户的时候,每输入一段字符就出现一个Type,具体代码如下:
Dialog("Login").WinEdit("Agent Name:").Type "m"
Dialog("Login").WinEdit("Agent Name:").Type "er"
Dialog("Login").WinEdit("Agent Name:").Set "mer"
Dialog("Login").WinEdit("Agent Name:").Set "merc"
Dialog("Login").WinEdit("Agent Name:").Type "u"
Dialog("Login").WinEdit("Agent Name:").Set "mercu"
Dialog("Login").WinEdit("Agent Name:").Type "ry"
Dialog("Login").WinEdit("Agent Name:").Set "mercury"

正常情况应该只有最后一句:Dialog("Login").WinEdit("Agent Name:").Set "mercury"的
有人知道这是什么原因吗?是不是我的QTP哪里配置出问题了!

1316016 发表于 2010-12-21 14:44:54

会有这样的情况
这个时候就要用到:步骤添加器,重新添加漏了的操作或步骤
杨柳 发表于 2010-9-12 22:13 http://bbs.51testing.com/images/common/back.gif


    步骤添加器?
页: [1]
查看完整版本: 为什么QTP运行的结果和手动的不一样