QTP录制126邮箱上传附件无法找到附件框属性

上一篇 / 下一篇  2010-07-21 11:11:33 / 个人分类:自动化测试

 前段时间要测试批量发送多份邮件的功能,在使用QTP做此功能时,发现上传附件的对象无法捕捉到,上传附件的弹出框总是随机变化的,回放的时候取的值永远不唯一,在同事的帮助下,学到了如何解决对象无法record的解决方案,虽然这个问题还是没有解决,希望经验丰富的QTP使用者能帮助一起解决该问题

同时总结下QTP相关知识

在录制脚本中,通常在Record and Run Setting中选择”Record and run test on any open browser”

 

打开IE浏览器录制脚本

SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\Administrator","open"

将以上脚本修改为录制的url路径

SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","www.126.com"

Stop脚本后在添加发送邮件的脚本

在录制过程中,要先点击页面中其他位置,让鼠标定位页面位置

Browser("MercuryTours").Page("MercuryTours").Frame("info_2").Image("fma-gateway").Click

 

碰到的问题:由于上传附件弹出框每次的框名都是随机的,在回放时总是报无法找到对象

解决方案

第一种解决方案:Stop脚本后,添加未录制上的对象,回放依然无法找到对象时,再在对象库中添加没有录制上的对象,在脚本中插入对象脚本

第二种解决方案:添加虚拟对象,在Tool->Virtual Object->New virtual object,添加虚拟对象后,在重新添加录制脚本

wait(3)

'Browser("MercuryTours").Page("MercuryTours").Frame("info").Image("findFlights").Click 34,9

'对以上脚本无法找到Continue button,button识别成了Image,这时使用虚拟对象

Browser("MercuryTours_2").Page("Mercury Tours").Frame("info").Image("findFlights").VirtualButton("Continuebutton").Click

'Browser("MercuryTours").Page("Mercury Tours").Frame("info").Image("findFlights").Click 46,5

'对以上脚本无法找到Continue button,button识别成了Image,这时使用虚拟对象wait(3)

Browser("MercuryTours_2").Page("Mercury Tours").Frame("info").Image("findFlights").VirtualButton("Continuebutton2").Click

http://www.51testing.com/?uid-26649-action-viewspace-itemid-3512

第三种解决方案:在录制过程中使用low level recording,先定位页面位置,再模拟鼠标键盘的操作找到对象

wait(3)

Window("Windows Internet Explorer").WinObject("Internet Explorer_Server").Click 572,243

wait(3)

Set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys"{TAB}"


TAG:

 

评分:0

我来说两句

Open Toolbar