欢迎来到天天文库
浏览记录
ID:57662020
大小:31.50 KB
页数:6页
时间:2020-08-31
《软件测试工作中使用QTP的总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试工作中使用QTP的总结---转上一篇/下一篇 2009-08-1813:26:28/个人分类:测试查看(68)/评论(1)/评分(1/0)工具软件一段时间不用就容易手生,有个备份整理以后复习都事半功倍。之前就打算好好弄一下一直拖着没动笔。网上QTP的学习资料大把大把,那些基础的理论东西看过就过了,实践才是王道,操作几个小时胜过看一天的说明文档。这里列一些我在用QTP时遇到印象比较深刻的问题和解决方案,其他的小问题属于QTP熟练操作的范畴就不赘述了。因为项目需要接触了差不多三个月的QTP,自知离QTP高手还有
2、段距离,学无止尽,有学习QTP的朋友欢迎发表高见大家互相进步~ 1、QTP自带函数print 调试代码的时候一般习惯用Debug或者Msgbox函数。监视变量运行时的值用Msgbox,个人感觉不方便的一点就是每次在msgbox窗口弹出来后,脚本会暂停执行,等到鼠标点确定后窗口才会关闭继续运行后续脚本,真的很烦,做自动化测试的时候我真的是已经懒到不愿意动一根手指头。某天无意发现QTP自带的函数print也可以实现查看变量信息,窗口是非模式的,运行时变量值在QuickTestPrintLog窗口上输出但脚本不用停下
3、来等,而且可以在一个session运行完了之后查看所有需要监视的变量值。 Eg: Dimp p=Browser("xx").page.("xx").webedit("object_name").GetROProperty("value") printp 2、calender控件 一般日期格式字段是同时支持手填日期格式的textfield和用鼠标点日历控件选择。但是在DMPOD系统里发现部分日期格式的字段居然disable了用户手动输入的属性,只能靠点日历控件来选择日期。结果录到的脚本全变成了img.cl
4、ick,无法回放。查了很久突然某一天找到了办法,绕过这个控件,强制转换它的属性值。 Eg: Dimvar_object Setvar_object=Browser("xx").page("xx").webedit("calendar_name").Object Var_object.readonly=false Browser("xx").page("xx").webedit("calendar_name").set"4/24/2009" 3、homepagemenu 曾经困扰了我很久。Homepag
5、edropdownmenu需要鼠标移动到主菜单名上才会显示子菜单目录,click子菜单目录进入页面。QTP总是无法捕捉到鼠标移动带出子菜单目录这个操作,解决办是用mouseover。 Eg: Browser("xx").page("xx").webelment("homepagemenuname").FireEvent"onMouseOver" Browser("xx").page("xx").webelment("submenuname").Click 4、自定义checkpoint 在页面提交保存后,
6、自定义设置一个检查点,通过判断某个变量值是否满足预期,如果是,则保存成功,如果不是则保存失败。 Eg: IfBrowser("xx").page.("xx").webedit("object_name").GetROProperty("value")="AA"Then Reporter.ReportEventmicPass,"AAcheckpoint","pageissavedsuccessfully" ElseReporter.ReportEventmicFail,"AAcheckpoint","page
7、isnotsavedsuccessfully" EndIf 5、编程性描述语言识别对象 刚开始一段时间,一直不知道QTP除了用对象库识别对象外,还可以用编程性描述语言。后来查了网上的资料才明白过来。 第一种方法: Browser("CreationTime:=0").Page("index:=1").WebEdit("name:="&edit).Set"ha" 我没有尝试过,总感觉不如对象库来的方便,在对象库中可以直接选择和修改用来识别对象的属性,以及highlightobject等功能。 第二种方法
8、: 碰到过一个Case是,页面上tableA里的checkbox元素数量每次运行时都是不相同的,随着页面上另一个对象B的值而改变,对象B的值又是参数化的,最后造成checkbox数量运行前无法预知。操作时又需要每次都选上所有的checkbox。最后用这种识别对象方法可以顺利实现。 PublicfunctionSelectAllCheckBox() Se
此文档下载收益归作者所有