• QTP环境变量的使用


    环境变量的用法

    在qtp中存在着两种类型的环境变量:

    • 内置环境变量
    • 自定义内部环境变量
    • 自定义外部环境变量

    内置环境变量

    介绍:它是qtp内部已经事先封装好.

    方式:直接进入到Settings –> Environment中选择built-in选项即可查询到所有的内置环境变量。并且这些环境变量的值都是qtp已经封装好的。

    举例: Msgbox Environment.Value(“TestName”)

    结果:直接可以获取到当前测试脚本名称。

    自定义内部环境变量

    介绍:它是qtp中的一种可以在qtp内部进行自定义的环境变量

    方式:直接进入到Settings –> Environment中选择User-defined选项,点击旁边的”+”,即可定义name 和 value

    举例:Msgbox Environment.Value(“自定义名称”)

    结果:直接可以获取到当前自定义环境变量的值

    自定义外部环境变量

    介绍:直接从xml格式文件中进行读取环境变量

    方式:进入Settings –> Environment中选中Load variables and values from external file并给出xml的文件路径

    举例:xml文件

    <Environment>

      < Variable>

        <Name>Url</Name>

        <Value>http://www.iquicktest.com</Value>

      </Variable>

    </Environment>

    Msgbox Environment.Value(“Url”)

    结果:直接打印结果为http://www.iquicktest.com

    注意:1. 环境变量中的属性名是大小写敏感的

       2. xml必须按照上述格式

    环境变量的动态生成与秘密加载

    动态生成 —- 使用FSO把我们需要的变量动态的写入一个XML文件

    这边主要是通过两个函数:

    第一个函数getVariable是可以让我们添加环境变量并通过指针变量进行迭代增加,

    第二个函数generateEnvFile是根据指针变量生成环境变量XML文件。

    '**************************  初始化环境变量 ******************************

    getVariable allEnvVar,"url","http://www.baidu.com"
    getVariable allEnvVar,"username","emilyzhang88"
    getVariable allEnvVar,"password","123456"

    '******************** 生成外部环境变量XML文件 ****************************

    generateEnvFile "C:\readXML\Login.xml",allEnvVar

    '********************************************************************
    'Description:获取所有环境变量字符串
    'Parameters:XmlVar(指针变量,环境变量字符),arName(环境变量名),varValue(环境变量值),
    'Return Value:无
    '********************************************************************
    Function getVariable(byRef xmlVar,byVal varName,byVal varValue)
    xmlVar = xmlVar + _
    "<Variable>" + vbCrLf + _
    "<Name>" + varName + "</Name>" + vbCrLf + _
    "<Value>" + varValue + "</Value>" + vbCrLf + _
    "</Variable>" + vbCrLf
    msgbox xmlVar
    End Function

    '********************************************************************
    'Description:生成环境变量XML文件
    'Parameters:envPathName(路径名),getVar(获取的环境变量字符)
    'Return Value:无
    '********************************************************************
    Function generateEnvFile(envPathName,getVar)
    envStream = _
    "<Environment>" + vbCrLf + _
    getVar + _
    "</Environment>"
    Set fso = CreateObject("scripting.filesystemobject")
    Set envStreamFile = fso.CreateTextFile(envPathName)
    envStreamFile.Write envStream
    Set envStreamFile = Nothing
    Set fso = Nothing
    End Function

    调用上面自动生成的xml文档,动态加载环境变量

    Environment.LoadFromFile "C:\readXML\Login.xml"
    msgbox Environment.Value("username")

    注意:

    • 动态加载可以有两种文件类型:  [*.xml] 和 [*.ini]
    • 静态只能加载一种文件类型:  [*.xml]

    最早在QTP 5.X和6.X的时候QTP是使用INI文件作为外部环境变量来使用的,到了后来8.0以后开始就使用了XML的形式来储存,因此静态的加载方式已经被屏蔽了,但是动态加载还是可以使用INI文件来在加载,不过文件必须遵循一定的格式.

    格式如下:

    [Environment]

    username = xxx12345

    password = 123456

    最近再写paypal系统的自动化测试脚本,想声明一个全局变量,可以在另外一个action中使用。
    也就是在action1中,在一个weblist中选择一个值value后,通过insert->call to copy of action添加一个action2,想在action2中使用action1中选择的value。
    具体步骤如下:

    1.在action1中,file->Settings->Environment在用户自定义变量中添加一个环境变量"batch”,代码如下:

    2.在action2中引用该环境变量,如下:

    3.运行脚本,通过。

  • 相关阅读:
    swoole学习(四):websocket
    LeetCode--SQL 查询:体育馆的人流量
    LeetCode--SQL 查询:有趣的电影
    centos7下mysql5.7忘记密码
    LeetCode--SQL 查询:删除重复的电子邮箱。
    swoole学习(三):HTTP服务
    swoole学习(二):TCP/UDP服务器-客户端
    swoole学习(一):初识swoole
    LeetCode--SQL 查询:查找部门工资前三高的职员
    报文、报文段、分组、包、数据报、帧、数据流的概念区别
  • 原文地址:https://www.cnblogs.com/emilyzhang68/p/2266089.html
Copyright © 2020-2023  润新知