描述性编程

1.描述性编程的思想

          思想:对象没有添加到对象库,就用描述性编程的方法。如果有些对象无法添加到对象库中,也可以用描述性编程。

2.描述性编程的2种写法

   1)Browser("micClass:=Browser").Page("micClass:=Page").WebEdit("name:=wd").Set "QTP自动化测试技术领航"
        Browser("micClass:=Browser").Page("micClass:=Page").WebButton("name:=百度一下").Click

       也可以多个属性来确定一个对象:属性之间用逗号(英文状态下的逗号)分开

          Browser("micClass:=Browser").Page("micClass:=Page").WebEdit("name:=wd","html tag:=INPUT").Set "QTP自动化测试技术领航"

      说明:如果父对象用描述性编程的方式,则子对象一定要用,否则会报错。

                如果子对象用描述性编程的方式,父对象可以不用这种方式。(前提是父对象添加到了对象库中,如果没有添加,则要用描述性编程的方法)

  2)描述性编程的第2种方式:描述

       用description对象进行描述,返回一组property对象的properties集合对象。property对象由属性名和值组成。

      方法如下:

             Set ObjDescription = Description.Create()
                  ObjDescription("micClass").value = "Browser"

            Set ObjPage = Description.Create()
                 ObjPage("micClass").value = "Page"

            Set ObjWebEdit = Description.Create()
                  ObjWebEdit("html tag").value = "INPUT"
                  ObjWebEdit("name").value = "wd"

            Browser(ObjDescription).Page(ObjPage).WebEdit(ObjWebEdit).Set "QTP自动化测试技术领航"

              '释放对象,从内层到外层依次释放对象
                 Set ObjWebEdit =Nothing
                 Set ObjPage =Nothing
                 Set ObjDescription =Nothing

   3.两种方式的比较以及应用场景

                对象库的编程:推荐使用。简单,易懂,快速

                描述性的编程:在对象库编程无法实现的情况下,可以用描述性编程,这样脚本清楚易懂,更加维护。

        对象库编程使用于普通脚本中,描述性编程使用于基于框架的脚本中,因为代码的复用性高。具体哪种方式,要看项目。

 4.Object Identification 与 Spy结合 DP的妙用

         描述性编程可以先定义Object Identification 里面的属性,如果满足不了,在增加属性。

5.描述性编程的适用场景

         1)一个首页有很多相同的类别的控件,一个个添加很繁琐,既然他们是相同类型的控件,就用描述性编程。如下:

                Set baidu = Browser("micClass:=Browser").Page("micClass:=Page")

                    Print  baidu.Link("name:=新闻").Exist

                With baidu

                        Print  .Link("name :=贴吧").Exist

                        Print  .Link("name :=图片").Exist

                        Print  .Link("name :=知道").Exist

                        Print  .Link("name :=MP3").Exist

                End With

                 Set baidu = Nothing

            2)如果要同时操作多个浏览器的窗口

            3) 适用描述性编程遍历对象完成N个同类控件的操作 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值