为什么QTP运行的结果和手动的不一样
大家是否有遇到这样的情况,用手动操作得到结果A, 但是用QTP运行结果就不同呢?具体点,点击某个Button, 手动操作会跳转/弹出一个新的页面,但是QTP对同样的对象操作,不会跳转/弹出也面,请问是什么原因呢? 确实会有这样的情况,表明QTP并没有真正点击该按钮,可能需要对这个对象进行特殊处理 有时候页面上的Button,存在嵌套控件,视觉上是看不出来的。建议用SPY察看一下。
并且,如果是WebElement的话,可以尝试用Fireevent 来操作。 QTP回放不成功,说明单纯的Click并没有激活控件对应的事件。因为QTP封装的Click方法,并不是单纯的点击鼠标,而有可能直接调用对象的接口。 呵,可能是该控件不是普通的html控件,QTP虽然可以录制动作,但无法触发事件
所以可以尝试手工添加触发事件来解决,或给动作写上参数,比如右击等
回复 1# 的帖子
会有这样的情况这个时候就要用到:步骤添加器,重新添加漏了的操作或步骤 QTP操作页面是基于事物消息的,并非单纯的keyboard或者mouse操作
或者你可以直接理解为它调用操作系统UI封装的方法去对对象进行操作的,如果碰到QTP回放和手工不一样的时候:
1、要求开发改程序,因为可能存在安全隐患
2、使用键盘模拟去操作,当然键盘模拟之前必须捕获焦点:用appactivate方法,用法去百度知道吧,地球人都会
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哪里配置出问题了! 会有这样的情况
这个时候就要用到:步骤添加器,重新添加漏了的操作或步骤
杨柳 发表于 2010-9-12 22:13 http://bbs.51testing.com/images/common/back.gif
步骤添加器?
页:
[1]