'环境:qtp10,ie8
Browser("xx").Page("xx").Link("登录").Click
Browser("xx").Page("xx").WebButton("WebButton").Click
'Browser("xx").Page("xx").WebEdit("WebEdit").SetSecure "4f75c8b623edc3aa77eb57fe8b6133ba8ae1ac3fa054" ???为什么重复3次会出错呢
'Browser("xx").Page("xx").WebButton("WebButton").Click ???为什么重复3次会出错呢
Browser("xx").Page("xx").WebEdit("userName").Set "test1"
Browser("xx").Page("xx").WebEdit("WebEdit").SetSecure "4f75c8c603e9ce3101354f01b2d601052ec1b116abefa50820d6"
Browser("xx").Page("xx").WebButton("WebButton").Click
问题1:回放WebButton("xxx").Click时,IE弹出窗口阻止程序
分析:可能IE把QTP这一步模拟用户点击操作当成不安全的方式运行ActiveX 控件
解决办法:
(1)修改ie的安全级别:Internet属性--安全--internet自定义级别--安全设置,把“activex插件和控件”,“java脚本权限”的级别改低一点。。不赞成这样做
(2)用sendkeys方式
Browser("xxx").Page("xx").WebRadioGroup("class").Select "#2"
Set objShell = CreateObject("WScript.Shell")
objShell.SendKeys "{Enter}"
问题2:录制彩票系统pop登录,run到点击图片登录按钮,登录按钮获取失败
解决办法:
录制到操作那个popup窗口中的控件前,把控件加入到object repository里,添加唯一性的属性:id=pop_login_submit
问题3:解决问题2后,发现回放后,查看results每一步的detail,发现有3个启用了Smart Identification
The smart identification mechanism was invoked.
Reason: object not unique (2 objects found)
有2个是用户名input和密码input的问题
分析:背景里有一个登录模块和pop框里的用户名和密码的控件和属性都是一样的,因为qtp有smart identifier功能,且在object properties里启用了这个功能,所以这里他smart成功,但是它是怎么smart成功的呢。。?
为了让object 唯一,我试着是添加一个propertie比如:class=ip_1但是添加这个后,再回放还是不能弹出pop框,而是打开新标签页面的登录方式了。。。。
另外当不添加class=ip_1,而是录制3次点击登录按钮的话也会出相同的问题。。