QTP使用心得

1 篇文章 0 订阅
1 篇文章 0 订阅
在2012年的时候入门总结的一点内容,时间太久了,就不改了,凑合看。

总结:

2.内容简介
对那些方面进行了改进可  与区别合成一个
        1.加快测试速度,大大降低重复性的验证时间
           例如:需要改进的地方:如果审核通过可直接使用批量审核,不用进入审核页面。
  经测试发现,以例行简易工单为例:三个审批人的时候,进入工单审核页面审核完成时间99秒,使用批量审核完成时间77秒,节约22秒。故最好使用批量审核通过的情况
  一个节点审批人进入工单审核时间在6.5秒左右,批量审核平均时间4秒。
        2.对固定业务流程的审核准确性提高
与手动测试的区别
        1.人工审核关注点多,探索性较强;
        2.人工测试花费较多重复劳动,工具的使用可简化
        3.需考虑脚本维护
3.注意事项
测试中遇到的问题,解决方法
1.入门利器
三种录制方式:正常、模拟、低级
模拟录制的例子:
适用:在无法正常识别的情况下,使用模拟录制,记录鼠标移动轨迹和键盘操作,达到录制的目的。
要求:固定坐、标录制完成后生成一个文件,记录了所有的操作,回访时按照此操作做一遍。

2.描述性编程(WEB对象识别,后续强制性)
    1.回访时出现General run error.原因判断是qtp定位速度太快,当网络较慢,页面未加载成功时,不能获取对象的值,所以是有时出现,有时不出现。解决方法 wait 2
    2.选择浮层中,出现使用描述性编程后,会出现描述的对象中的子对象无法识别的情况。
            原因:描述性编程的“后续强迫性”,也就是说,如果前面的内容使用了描述性编程,后面对象的识别必须使用同样的方式
            例如:Browser("***管理系统_3").Page("***管理系统").Frame(bjFrame).WebElement("innertext:=383").Click
             在第二个webelement中,由于前面frame使用了描述性的bjframe对象,故此段"WebTable"应该为“innertext:=383”
实例:
formname="_eos_modal_dialog.*"'使用正则表达式匹配前面不变的字符
bjFrame("title").value = "选择技术经理"'获取页面名称为选择技术经理的对象
bjFrame("name").value =formname
set oframe =Browser(" ***管理系统").Page(" ***管理系统_2"). ChildObjects(bjFrame)'获取所有子对象
'print "name:"& oframe(0).GetROProperty("name")'打印
bjFrame("name").value =  oframe(0).GetROProperty("name")'这个的名称
    3. 在使用单个属性不能识别的时候,可使用对象中的所有值,直到识别为止

3.正则表达式

        5.使用前段字符串:
      Dim  LeftString,Mystring
      Mystring=bjFrame(1)
      LeftString = Left(Mystring, 30) ' 截取字符串中的前31个字符,获取frame的name
      'print "name:"& LeftString'打印

4.测试时间(时间级数递增、像九连环一样,使用外部批量审核)
    1.根据 ***系统的审批流程特点制定测试方案,以主机系统维护工作单为例
        1.共计18个审核节点,绝大部分节点都有审核通过、审核不通过、返回三个按钮,部分节点没有审核不通过按钮
        2.程序员确认签字处需添加经理的人员,此节点单独提出作为一个部分。
        3.每个审核节点审核使用一个“审核场景”即可处理。
        4.由于需检查每个节点的审核通过与审核不通过两个路径,故每次审核不通过后退回到工单提交处,从头开始执行审核路径,计算时间为:
                条件:每次审核平均用时6.5秒,总共18个节点,每次不通过则从节点1开始重新开始审核
                单独审核时间:(1+2+3+……+18)*6.5=1111.5s。约18分钟审核完成。
                总时间:单独审核时间+提交时间+特殊节点审核时间=约19分钟。
        5.手动审核时间,平均一条审核记录为40s,自动化提升了6倍的效率。大大降低了测试时间。如果加入批量审核则有可能达到10倍。

5.检查点的加入


6.Datatable的使用
数据存储的地方,将脚本中的数据参数化,即可使用表格中数据进行测试。
设置方式:在关键字视图中选择对应元素的Value栏,选择呢右边的<#>,可配置为DataTable,自由输入name,确认后创建参数化成功。
默认配置为Golbal sheet,所有的action都可以使用本参数。也可配置为特定的action。
    1.使用Tool|Data Driver检查哪些输入可以进行参数化。
    2.使用数据驱动方式进行测试

7.脚本维护与业务更新
    1. ***管理系统在流程审核、工单提交页面元素校验上适合用自动化测试
    2. ***管理系统流程业务变动较快,脚本维护成本高
    3.适合较大数据量对比的测试
流程改进方法
1.思维方式改变
2.区分节点的工作

4.指导意义
对今后工作的指导作用(敏捷方法)
    1.回归测试、不变的功能
    2.大页面校验测试
    3.基本技能

5.改进方式
有待改进的地方
    1.脚本的可移植性
        1.前期在添加对象时,对选择的对象处理为常量,造成在系统人员变动时,可能会找不到对象。解决方式:将添加的对象设置为变量,使用描述性编程来识别。可增强脚本的健壮性。
        2.
    2.多场景脚本执行。错误的处理,无人值守测试
    3.更多的项目工作支持
        仅对 ***管理系统进行了项目实践,还存在一些问题,对其他的上线系统中未遇到的知识点还了解不够。

6.如果不能识别,则定义为一个虚拟对象,进行录制和回放。路径:tool|virtual object
7.Utility对象:调用windows API
    SystemUtil对象:控制windows进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值