QTP UI自动化常见问题

代码规范:
1、脚本名称不要使用后面带1的 。
2、命名要清晰,同时能大致理解
3、scripts.xls里,不要中间留空行 。
4、脚本中,每一行都要进行注释 。写名这句或这段脚本是做什么用的 。
5、=号之间,前后请空格 。
【个人总结的注意点】
1、点击过标签页过后应该重新激活页面
2、找不到对象时 , 可以用nativeclass、text等多种方式试试
3、运行时 右键 看参数的值
4、 .* 模糊匹配
5、写控件之前必须要写它所属的窗口
6、进行数据库操作之前应该先还原数据库
7、两个前置条件之间用分号隔开
【遇到错误的解决办法】
1、看报错信息
2、看日志
3、手工操作一遍
常见问题及解决
错误1:
问题原因:控件在窗体中不存在 。
解决方法:通过录制脚本,检查窗体是否存在 。
错误2:
请点
问题原因:控件在窗体中是不可用的 。
解决方法:确认用例中对该控件是否有判断操作 。
错误3:
错误信息:
执行到:text:=OK错误号为1200 错误信息:未找到600000 错误来源:HsClickOnText
问题原因:用例中需要点击的字符不正确 。
解决方法:修改用例 。
错误4:
错误信息:
脚本未给返回值
问题原因:
录制的脚本中没有返回值 。
脚本未加入至资源文件中 。该种原因出现的概率比较高 。
解决方法:
修改脚本 , 给定合理的返回值 。
通过OpenQTP.exe生成资源文件 。在Scripts中配置脚本简称和全称 。
错误5:
错误信息:
执行到:.******.*错误号为-2147467259 错误信息:未知错误
问题原因:在操作前一界面时,可能出现弹出框 , 但脚本未处理 。最常见的是出现了超时窗体 。
解决方法:检查客户端手工能否响应,未响应时,判断是客户端已“死”,还是出现了弹出框 。如果有弹出框,需要对其进行分析并截图 。如果出现了超时框 , 请记录相应的缺陷 。
错误6:
错误信息:
Fail:***对象不存在! 错误来源:控件名(如WinCheckBoxSet)
问题原因:控件未识别
解决方法:需要用***识别控件,通过脚本录制工具可识别
错误7:
错误信息:
执行到:错误号为-2147467259 错误信息:系统找不到指定的路径 。
【QTP UI自动化常见问题】客户端打开失败,或者对比工具打开失败,检查program , 配置正确
问题原因:自动化脚本里写死了 , 客户端必须是“****.exe”,EXCEL对比工具必须是“Excel比较工具”
解决方法:修改程序名
错误8:
错误信息:找不到对象
问题原因:
1.该页面有两个相同的对象 , 这时候不能用text要用nativeclass
2.该页面未激活
3.属性识别的不对
4.当前页面不是该页面
5.激活后找不到第一个控件时,可能是太卡,可以先延时3秒钟
错误9:
错误信息:激活窗口时,报错“窗口不存在”
问题原因:该窗口未最大化
解决办法:
错误代码:Window(\”text:=**** – .*****.*\”).Activate
正确代码:Window(\”text:=\” & MAINWIN & \”.*\”, \”is child window:=False\”).Window(\”nativeclass:=TfrmStockCcJZD\”, \”text:=****\”).Activate
错误10:
错误信息:cpmpared fail 即 找不到想要找的项
问题原因:1.页面内数据太多,该值在下一页,可删除没用的数据
2.有两个同名的该控件,可加其他的识别属性
错误11:
错误信息:下拉框取不到值
问题原因:
解决办法:提前点两下,例如:
this.WinComboBox(\”***:=******\”).DblClick 5,5
this.WinComboBox(\”****:=*******\”).Select GetValueByCol(\”*****\”)\’>
错误12:
错误信息:获取坐标之后,在指定地方点击右键,会点不到
问题原因:
获取坐标后,整个页面被刷新啦,要在指定的坐标处点鼠标会找不到该坐标,需要先激活一下
点右键之前应该先点左键选中该条数据
错误13:
错误信息:
问题原因:功能数据里面的列名相同,有两个列的列名都是序号
错误14:
解决办法:
出现这种问题时,打开任何可执行文件时 , 都会显示:“XX(代码)指令引用的XX(代码)的内存,该内存不能为“XXX(‘read’or‘written’)”然后则会跳出:Runtime error 216 atXXXXX(代码) , 进入不了该程序 。
解决办法:
1.开始菜单-运行-输入regedit-点确定-进入注册表, 在:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellExecuteHooks 下 , 应该只有一个正常的键值\”{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除 。
2.开始菜单-运行-输入cmd 回车在命令提示符下输入:
for %1 in (%windir%\\system32\\*.dll) do regsvr32.exe /s %1
以上就是朝夕生活(www.30zx.com)关于“UI自动化(QTP)常见问题”的详细内容,希望对大家有所帮助!

猜你喜欢