zoukankan      html  css  js  c++  java
  • RegisterUserFunc为测试对象添加新方法或重写已有方法

    QTP中为了提高扩展性,提供了一个为测试对象添加一个新的自定义方法,或者重写测试对象已有的方法的函数RegisterUserFunc,在此给大家分享一下。

    RegisterUserFunc:为测试对象添加一个新的自定义方法,或者重写测试对象已有的方法
    语法:
    RegisterUserFunc TOClass, MethodName, FunctionName, SetAsDefault
    说明:
    TOClass   想要注册方法的对象
    MethodName 想要注册的方法名称,不能有空格
    FunctionName 函数中自定义的函数名称
    SetAsDefault 是否要注册为对象的默认操作,值为:False,或者True
     
    ------------------------例子1:为webedit添加新方法----------------
    需求:
    1.为webedit添加一个方法,方法名为"NewMethod1"
    2.该方法实现获取webedit的默认值,并将该值写入reporter中
    实现思路:
    1.用vbs封装一个方法实现获取webedit的默认值,并将该值写入reporter中
    2.利用RegisterUserFunc在qtp运行时环境中注册该函数
     
    实现步骤:
    1.以下代码是用vbs封装一个方法实现获取webedit的默认值,并将该值写入reporter中。
      将以下脚本保存为vbs文件,这里保存为test.vbs,保存于d:
    Sub GetDeafaultValue(objWebEdit)
     WebEditDeafaultValue = objWebEdit.GetRoProperty("default value")
     Reporter.ReportEvent micDone,"获取WebEdit的默认值","默认值为:" & WebEditDeafaultValue
    End Sub
    2.加载函数test.vbs到qtp的运行时环境中
    加载有动态加载和静态加载,本例采用动态加载方式
    在qtp专家试图第一行输入如下代码:
    executefile "d: est.vbs"
    3.在qtp运行时环境中注册函数
    在qtp专家试图第二行输入如下代码:
    RegisterUserFunc "WebEdit","NewMethod1","GetDeafaultValue"
    4.webedit调用新注册的NewMethod1方法
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").NewMethod1
     
    打开百度首页,按照1-4部操作,运行qtp脚本,检查reporter报告中已将webedit的默认值写入报告中
     
    --------------------------例子2:重写wededit的set方法-------------
    需求:
    1.重写webedit的set方法,并将重写的方法作为默认操作
    2.让set方法实现,为wededit赋值前获取webedit的默认值,并将该值写入reporter中
    3.赋值后,获取webedit的编辑框的当前值,并将当前值写入reporter中
     
    实现思路:
    1.用vbs封装一个函数实现需求2、3的功能
    2.利用RegisterUserFunc在qtp运行时环境中注册该函数
     
    实现步骤:
    1.以下代码是用vbs封装一个函数实现需求2、3的功能,并将该值写入reporter中。
      将以下脚本保存为vbs文件,这里保存为test.vbs,保存于d:
    Sub SetValue(objWebEdit,InputValue)
     WebEditDeafaultValue = objWebEdit.GetRoProperty("default value")
     Reporter.ReportEvent micDone,"获取WebEdit默认值","默认值为:" & WebEditDeafaultValue
     objWebEdit.Set InputValue
     WebEditValue = objWebEdit.GetRoProperty("value")
     Reporter.ReportEvent micDone,"获取WebEdit输入值","输入值为:" & WebEditValue
    End Sub
    2.加载函数test.vbs到qtp的运行时环境中
    加载有动态加载和静态加载,此处采用静态加载的方式:
    在qtp的file->settings -> resources ->libraryes 中添加步骤1中保存的test.vbs文件
    3.在qtp运行时环境中注册重写的set方法
    在qtp专家试图第一行输入如下代码(注意:第二个参数需要与qtp中被重写的方法同名):
    RegisterUserFunc "WebEdit","Set","SetValue",True
    4.webedit调用重写后的Set方法
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "新输入的值"
     
    打开百度首页,按照1-4部操作,运行qtp脚本,检查reporter报告中已将webedit的默认值和新输入的值写入报告中
  • 相关阅读:
    InfluxDB 安装使用
    Jenkins 覆盖率插件Cobertura 使用
    sonarqube的安装部署以及集成jenkins
    vscode md样式自定义
    maven配置JaCoCo
    jenkins 安装
    Maven 构建报依赖jar下载失败
    Telegraf 简单使用
    Python 生成当前项目依赖包 requirements
    面试内容
  • 原文地址:https://www.cnblogs.com/duyy/p/3652523.html
Copyright © 2011-2022 走看看