Nirvana logo Nirvana

变量 Variable

全局变量 全局变量(Global variables)的作用域是在整个工作空间,作为系统默认的变量存在。
环境变量 环境变量(Environment variables)的作用域是用例执行时所选择的环境内,如果一个key即存在全局变量中,又存在环境变量中,优先使用环境变量的值。

环境,在实际测试中会有多套环境,包括测试环境、预生产环境、或者针对不同版本的环境,每个环境对应的一些变量如请求地址、用户信息和中间件地址等都不相同,为了避免每测试一个环境都要手动修改相关数据,引入环境概念。

引用变量 通过特殊符号$引用变量,例如$Variables

脚本 Scripts

概念 脚本是一种灵活的,强大的辅助接口请求的方式,脚本分为:预定义脚本和自定义脚步。
  • 预定义脚本:提前内置写好的脚本,我们可以把一些普遍通用的功能写成预定义脚本放在那里,方便大家使用。
  • 自定义脚本:用户自己写的脚本,根据用户自己的实际情况编写脚本,然后上传到服务器,然后进行调用。
  • 引用脚本 引用脚本的方法:${get_message_center_token()},通过此方式平台会去执行get_message_center_token()这个函数。

    响应断言 Assert

    Nirvana 可以解析多层嵌套的json数据,从中抽取指定的信息,将“期望值”与“实际值”通过“匹配规则”进行比对,判断接口执行是否成功。

    解析响应
  • 默认提供:
  • Key 描述
    content 响应体全部,json格式多级content.person.name.first_name
    status_code 响应状态码
    elapsed 响应时间days, seconds, microseconds, total_seconds
    headers 响应头headers.content-type
    cookies cookies
  • 通过jsonpath解析:
  • JSONPath 描述
    $ 根节点,用于表示一个json数据,可以是数组或对象
    @ 当前节点对象
    .or[] 取子节点
    .. 不管位置,选择所有符合条件的条件
    * 匹配所有元素节点
    [] 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等
    [,] 支持迭代器中做多选
    ?() 支持过滤操作
    () 支持表达式计算
  • 支持正则表达式
  • 匹配规则 Match Rules
    规则 描述
    equals 判断实际结果和期望结果是否相等
    less_than 判断实际结果小于期望结果
    less_than_or_equals 判断实际结果小于等于期望结果
    greater_than 判断实际结果大于期望结果
    greater_than_or_equals 判断实际结果大于等于期望结果
    not_equals 判断实际结果和期望结果不相等
    string_equals 判断转字符串后,实际结果和期望结果是否相等
    length_equals 判断长度(字符串、列表、字典)
    示例
      
    [
      {
        "comment": "DMP测试报告",
        "create_time": "2020-01-19T11:41:37Z",
        "id": 1,
        "key": "ed02f420-63dd-4a45-8816-28c979795d5f",
        "name": "DX-DMP-冲刺看板",
        "type": null,
        "update_time": null,
        "url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ed02f420-63dd-4a45-8816-28c979795d5f"
      },
      {
        "comment": "NDX-Quality",
        "create_time": "2020-01-20T19:54:22Z",
        "id": 9,
        "key": "074e0adc-40a5-478a-a7f3-5fbc38c6bc2b",
        "name": "NDX-update",
        "type": null,
        "update_time": "2020-02-03T17:06:03Z",
        "url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=074e0adc-40a5-478a-a7f3-5fbc38c6bc2b"
      }
    ]
    
    Nirvana设置响应断言条件时输入Key为$[0].comment,解析结果为[ “DMP测试报告” ]
    

    任务 Task

    测试任务就是把指定的测试用例放在一起,作为一个集合。当用户执行某个测试任务的时候,也就是执行了包含在测试任务中的测试用例。