zoukankan      html  css  js  c++  java
  • httprunner 3.x--variables变量和声明(变量和值一一对应)

    在 HttpRunner 中,支持变量声明(variables)和引用($var)的机制。调用函数(${func($var)})

    在 config 和 test 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过 $ + 变量名称 的方式引用变量。


    区别在于:

    在 config 中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引用;

    在 test 中定义的变量作用域仅局限于当前测试步骤(teststep)

    一般写用例的时候,最好把可能会变的参数单独写个变量。做到测试数据和代码的分离,以便后续维护。

    如果step和config中variables声明的参数名相同,在运行测试用例的时候会取step里面的参数值

    全局变量

    如果要设置一个全局变量,需把变量声明(variables)放到config下

    pytest格式

    config = (
            Config("test /lotter*****st.php")
            .base_url("https://lotter****.com")
            .verify(False)
            .variables(
                **{"uid": "14**7",
                   "choujiang_id": "*9",
                   "username": "**"}
            )
        )

    yml格式

    config:
        name: "hz测试"
        base_url: "https://lottery.hz.z****in.com"
        variables:
            uid: "14***7"
            choujiang_id: "***"
            username: "**"
    
        verify: False
    
    teststeps:
    -
        name: "接口test /lotteryTest.php"
        request:
            method: GET
            url: /lotteryTest.php
            params:
              uid: $uid
              choujiang_id: $choujiang_id
              username: $username
        validate:
            - eq : ["status_code", 200]
            - eq : ["body.status", 1]

    引用uid和choujiang_id/username变量用$uid,$pchoujiang_id,$username 完整的脚本如下:

    局部变量

    如果在steps下声明的变量,作用域只在当前steps下有效。声明变量用with_variables,变量和对应值用键值对,如

    Step(
                RunRequest("get with params")
                .with_variables(
                    **{"uid": "14**7",
                       "choujiang_id": "**",
                       "username": "**"}
                )
                .get("/lotteryTest.php")
                .with_params(**{"uid": "$uid", "choujiang_id": "$choujiang_id", "username": "$username"})
                .validate()
                .assert_equal("status_code", 200)
            ),

    完整代码如下:

     运行结果如下:

  • 相关阅读:
    MS SQL Server中的CONVERT日期格式化大全
    简历
    Spring源码IOC部分容器简介【1】
    HadoopHDFS设计原理
    1.Linux系统简介
    3.大话C语言变量和数据类型
    2.C语言初探
    7.函数
    8.C语言预处理命令
    9.指针
  • 原文地址:https://www.cnblogs.com/may18/p/13375540.html
Copyright © 2011-2022 走看看