zoukankan      html  css  js  c++  java
  • 描述性编程的两种写法

    对象库编程(ORP)是一个非常强大的功能,如果对象名字改变了,只需要进入对象库修改对象,脚本即可批量更新。

    描述性编程(DP)不需要维护庞大的对象库,而需要维护庞大的代码,但是在某些情况下(比如对象不能添加到对象库)它很有用。

    下面通过一个例子来学习如何进行描述性编程:

           首先,我们录制一段在百度首页输入“abcde”,然后点击“百度一下”的代码:

    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "abcde"
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click

           这时候打开对象库如下图:

                   

    某些情况下会出现无法添加对象到对象库的情况,这时候就需要用到描述性编程了。所以我们在这里先把对象库里的4个对象都删除。好了,现在已经没有对象供我们使用了。开始进行描述性编程了。它有2种方式:

      一.使用 对象名(“属性名1:=属性值1”,“属性名2:=属性值2”)    注意:这里的的括号,逗号,冒号都必须是英文状态下的。

      上面的代码转换如下:

    Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").WebEdit("name:=wd","html tag:=INPUT","html id:=kw1").Set "ad"
    Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").WebButton("name:=百度一下","html id:=su1").Click

      注意:如果父对象描述了,子对象一定要描述,不然QTP会报错。但是子对象如果描述了,父对象若被添加到对象库中,可以不描述。

      二.使用Description对象

      使用Description对象可以返回包含一组Property对象的Properties集合对象。Property对象由属性名和值组成。然后,可以在语句中指定用返回的Properties集合代替对象名(每个Property对象都包含一个属性名和值)。

      创建Properties对象的语法如下:

    Set ObjDescription = Description.Create()

      创建完毕后,就可以在运行会话期间在Properties对象中添加,编辑,删除或检索属性和属性值了。

      最开头的代码转换如下:

    Set ObjBrowser = Description.Create()
    ObjBrowser("name").Value = "百度一下,你就知道"
    
    Set ObjPage = Description.Create()
    ObjPage("title").Value = "百度一下,你就知道"
    
    Set ObjWebEdit = Description.Create()
    ObjWebEdit("name").Value = "wd"
    ObjWebEdit("html tag").Value = "INPUT"
    ObjWebEdit("html id").Value = "kw1"
    
    Browser(ObjBrowser).Page(ObjPage).WebEdit(ObjWebEdit).Set "abcde"
    
    Set ObjWebEdit = Nothing
    Set ObjPage = Nothing
    Set ObjjBrowser = Nothing

      注意:1.这里描述对象的括号内不需要加引号; 2.最后要释放对象,可以从最里面一层开始释放到最外面一层。

    最后这里要说明几点

    1. 我看教程里描述Browser和Page是用:Browser(“micClass:=Browser”).Page("micClass:=Page"),

    但是我在QTP里这样写的时候会出现Cannot find the "[ WebEdit ]" object's parent "[ Browser ]" (class Browser). 我也不知道问题出在哪里。望指教。

    2. 这里描述用到的属性都是封装接口的属性,不是自身接口属性。也就是Object Spy里Identification Properties的Properties属性:

        

    3. 如果使用某个属性还是出现“The "[ WebEdit ]" object's description matches more than one of the objects currently displayed in your application”这类错误,可以尝试加入更多属性去判断,比如id,name等等。

  • 相关阅读:
    【性能诊断】十一、性能问题综合分析(案例2,windbg、wireshark)
    SQL Server常用的性能诊断语句
    Oracle常用的性能诊断语句
    【性能诊断】五、并发场景的性能分析(windbg简介及dump抓取)
    数据库管理与开发工具推荐---DBeaver
    DM达梦数据库---执行计划查看
    DM达梦数据库索引失效的处理---强制更新统计信息
    jProfiler、jMAT等工具注意设置启动的Xmx参数
    JVM启动参数建议
    Linux环境jcmd抓取进程信息及内存dump
  • 原文地址:https://www.cnblogs.com/bangbangjiang/p/3791342.html
Copyright © 2011-2022 走看看