发布新日志

  • 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}"

Open Toolbar