对QTP无法识别对象的解决办法很多,现使用到的有以下五种:
1.低级录制(不建议使用)
2.虚拟录制(慎重使用)
3.描述编程
4.对象映射
5.ObjectIdentification 详解 1:低级录制 Automation-LowLevelRecording/AnlogRecording,记录屏幕的相对位置,维护性比较差 2:虚拟录制 Tools-Virtual Objects-New Virtual Object/Virtual Object Manager New Virtual Object:新建虚拟对象 Virtual Object Manager:对已经建立的虚拟对象的管理 新建虚拟对象:New Virtual Object-next-选择虚拟对象(object,
button,
table,
list,
check box,
radio button
)-next-Mark Object...(标记需要虚拟的对象)-next(
标识所有出现的虚拟对象,请选择
Parent only;
仅标识一次出现的虚拟对象,请选择
Entire parent hierarchy";默认选择Parent only)-next(指定虚拟对象的名称和集合)-完成 注:a:可以通过Virtual Object Manage来管理(添加/删除)虚拟对象 b:如果希望QuickTest在录制时识别虚拟对象,请确保清除选项对话框的常规选项卡中的
录制时禁止识别虚拟对象
复选框(Tools-Options-General-uncheck(Disable recognition of virtual objects while recording)) 3:描述性编程 用描述性编程来优化脚本时,刚开始有点麻烦,成型后可以解决很多实际问题,比如:控件不识别,动态识别控件等等。平时录制脚本时,QTP会自动生成一个对象库,来定位识别对象,如果对象库管理不善,比如丢失等等意外潜在因素,会造成脚本因对象无法识别而失败;而描述性编程,直接用对象的唯一性属性来定位对象,脱离了对象库概念,解决了潜在因素,而且使用起来也很灵活,缺点是识别对象的速度比录制