zoukankan      html  css  js  c++  java
  • yaml 测试用例 (学习第一天)

    yaml 用例结构
    config+teststeps 必填


    config部分:(全局变量)


    name:用例名称
    base_url :测试环境的地址
    verify: 校验证书,是 true 否 false(全局变量非必写)
    variblse:指定测试用例的公共变量,
    export:导出测试用例会话结果,设为全局变量

    场景案列-环境变量.env

    在自动化测试项目的根目录中,创建.env文件并将敏感信息放置到其中,储存采用name=value的格式(数据库配置信息等)

    格式如下:

    username=test

    password=123456

    base_url=http://823.5158.1553.

    如何引用环境变量

    ${ENV(username)}、${ENV(password)}、${ENV(base_url)}


    testsetps:  是一个list


    name:指定测试步骤的名称
    request:请求参数
    (url请求地址、method请求方式json请求参数、variables:指定步骤变量,参数引用变量“$变量名称”、{若get请求带参数则增加:params请求参数},{verify: 校验证书,是 true 否 falshttprunner3自带封装})

    extract:提取返回结果

    validate:提取校验返回结果(-eq[])

    export:导出的测试用例会话变量,设为全局变量

    base_url 部署接口项目环境的地址(端口与环境地址有可变性)

    config里添加base_url相当于把接口地址的公共部分提取出来放在config里作为公共参数以供多条用例使用,而request里的请求地址只需填写不相同的参数即可。若中途有调用其他接口,则在该用列下直接填写完整的url的绝对路径

    https请求SSL证书

    config部分{verify: 校验证书,是 true 否 false(全局变量非必写)}

    testsetps-request部分:{verify: 校验证书,是 true 否 falshttprunner3自带封装可以不用带此参数}

    post请求参数类型

    content-type:application/x-www-form-urlencoded

    (url请求地址、method请求方式、请求头部:herders参数键值对、data请求参数键值对、validate:校验返回结果(-eq[]){若get请求带参数则增加:params请求参数},{verify: 校验证书,是 true 否 falshttprunner3自带封装})

     headers在引用局部变量时增加:Authorization:Token $

    变量的声明与引用

    config中的变量在整个yaml中可生效(公共变量)

    teststeps中的变量只在list内可生效 (variables变量先声明,再用$引用)

    同名情况下当全局变量与局部变量同时存在则局部变量大于全局变量

    validate提取校验结果

    使用jmespath提取json响应正文并使用预期值进行验证,-jmes_path:jmespath表达式,更多细节参考JMEPath教程,-expect:预期值,可以使用置顶预期值、变量或者函数引用,-message:消息(可选),用于指示断言错误的原因

    使用jmespath提取json响应,Httprunner返回四个对象

    -status_code 状态码,-headers 返回头部,-cookies 返回cookies,-body 返回body内容(一般为json格式)获取并校验token:只能获取token的长度:len_eq:{body.token,40}

    场景案列-参数关联

    extract  提取关键字引用关键字($token

     

  • 相关阅读:
    RN-Android构建失败:Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'AwesomeProject'.
    Android更新包下载成功后不出现安装界面
    真机调试: The application could not be installed: INSTALL_FAILED_TEST_ONLY
    react native 屏幕尺寸转换
    Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
    React Native安卓真机调试
    git提交代码报错Permission denied, please try again
    The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
    命令行设置快捷命令
    Linux 常用指令
  • 原文地址:https://www.cnblogs.com/nvhanzhi/p/15476029.html
Copyright © 2011-2022 走看看