51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2443|回复: 3
打印 上一主题 下一主题

[资料] 同事给我提供了一个学习qtp的小文件,浅显易懂,给初学者使用

[复制链接]
  • TA的每日心情
    奋斗
    2015-5-7 09:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2015-5-7 09:21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    测试模型概念:QTP测试对象模型的两个概念:TO和RO 不管是RO还是TO都使用相同的类方法:如Broswser page webbuton 等等等
       对应的几个函数:
       TO:GetTOProperty()  GetROProperty() GetTOPropertys() SetTOPropertys()
       A、TestObject的用法:
          主要针对对象库的测试对象。
          Browser("页面1").Page("子页面1").Image("密码提交按钮").Click 其中的页面1、子页面1、密码提交按钮为自己定义的对象库的对象
          Dim TestResult2
          TestResult2=Browser("页面1").Page("子页面1").Image("密码提交按钮").GetTOProperty ("image type")
          Msgbox(TestResult2)

          Run-Time object的用法:
          Dim TestResult2
          TestResult2=Browser("name:=知道百度").Page("title:=知道百度").Image("file name:=index_91.gif").GetROProperty ("image type")
          Msgbox(TestResult2)

    1、参数化:全局变量、环境变量、局部变量
       H2流程的例子
       全局变量设置路径:Test->TestSetting
       局部变量设置路径:ACTION->Parameters   登陆的例子
       全局变量就是整个工程都用的一样的属性参数,局部就是只单ACTION用其他ACTION函数不用

    2、检查点实例类型:
       A、系统自带的检查点插入功能:
          Browser("知道百度").Page("知道百度").Image("index_91").Check CheckPoint("index_91")
          Browser("知道百度").Page("知道百度").Check CheckPoint("用户名")
       B、判断对话框提示、页面是否存在
          Dim TestRc
          If Browser("name:=知道百度").Dialog("text:=Microsoft Internet Explorer").WinButton("attached text:=请输入用户名!").Exist Then
          TestRc = 1
          else
          TestRc =0
          End If
          Msgbox(TestRc)
       C、判断是否一致
          Dim TestResult2,TestResult3
          TestResult2=Browser("页面1").Page("子页面1").Image("密码提交按钮").GetTOProperty ("image type")
          Msgbox(TestResult2)
          TestResult3="Plain Image"
          Msgbox(TestResult3)
          If   instr(TestResult2,TestResult3) Then                                                         
          Reporter.ReportEvent testr, "流程节点:问题单信息检查","测试成功"
          else
          Reporter.ReportEvent micPass1, "流程节点:问题单信息检查","测试失败"
          End If  
    3、Action的使用
          A、拆分原则,重复利用,如何设置属性
          B、call to copy call to existing函数的使用  RunAction name "参数"

         
    4、Recovery scenario(效率和适用性)
          A、录制脚本  注明使用范围 用函数封装起来便于维护      
          B、函数直接写  
          方法:
           '-----------------------------------------------------------------------------------------------------------------
           '函数ProblemCheck定义如下:
           '-----------------------------------------------------------------------------------------------------------------
             Function ProblemCheck()
             Dim TestResult2
             .......................
             ProblemCheck = TestResult2   
             End Function
    5、虚拟对象:
           录制脚本常见的问题:1、下拉列表框盲点 2、默写特殊的图片按钮对象回放无效
           原因:1、对象类其实只需要操作一次  2、对象探测器识别不明确,JSP页面层太多
           解决办法:1、删除多余操作 2、使用虚拟对象
           语法:
                 Browser("知道百度").Page("知道百度").VirtualButton("button").Click


    6、Descriptive programming描述性编程
            如何自己判断对象有那些特征和方法(obj spy的使用)
       6.1  直接使用描述性语言操作:
           语法格式:Testobject("","")
           A、常用描述性编程的方法及对应的特征属性(即不通过对象库进行对象查找的方法操作对性)
              方法:Browser  常用特征:name
                 page               title
                 Image              file name
                 Link               name
                 Button             text
                 Dialog             text
                 WebElement         innertext等
                 Table              name
          B、多特征综合查询模式尽量找到唯一控件如:  
             Browser("name:=外购件进厂审批流程").Page("title:=外购件进厂审批流程").WebElement("innertext:=30","html tag:=FONT","ID:=Eixt1").Click
          C、如果实在找不到:使用索引定位方法:
             location:=0
             Browser("name:=质量反馈信息录入").Page("title:=质量反馈信息录入").Link("name:=审批","location:=0").Click

      6.2 使用describe对象
          Set MyDescription = Description.Create()
          Set MyDescription =Description.Create()
          Set MyDescription2 =Description.Create()
          Set MyDescription3 =Description.Create()
          MyDescription("text").value= "确定"
          MyDescription2("text").value= "Microsoft Internet Explorer"
          MyDescription3("name").value= "知道百度"
          Browser( MyDescription3).Dialog(MyDescription2).WinButton(MyDescription).Click

    7、自动化测试框架技术:共享对象库和共享函数库
      (将使测试脚本和测试用例的管理更加灵活,健壮,并且可实现高度重用)
       实现:
       A、脚本和对象库分离
       B、函数和用例脚本分离
       讲解目前QM的H2流程的实例
       
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-6 21:54 , Processed in 0.064946 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表