zoukankan      html  css  js  c++  java
  • httprunner2.0 概述及使用说明

    一、概述

    HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

    二、系统流程

    三、文件组织

    1、项目文件目录结构

    说明:
    (1)api 文件夹:存储接口定义描述
    (2)testcases 文件夹:存储测试用例,文件夹也可以使用其它名称
    (3)testsuites 文件夹:测试测试场景,文件夹也可以使用其它名称
    (4)reports 文件夹:存储 HTML 测试报告
    (5).env文件:存储项目环境变量,通常用于存储项目敏感信息
    (6)debugtalk.py:存储项目中逻辑运算辅助函数
    ·该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程根目录
    ·该文件不存在时,运行测试的所在路径(CWD)将被视为项目工程根目录
    ·测试例文件中的相对路径(例如.csv)均需基于项目工程根目录
    ·运行测试后,测试报告文件夹(reports)会生成在项目工程根目录

    四、用例编写

    1、用例编写

    (1)api文件夹中编辑接口描述文件,如create_user.yml

    (2)testcases文件夹中编辑测试用例文件,如create_and_check.yml
    (3)testsuites文件夹中编辑测试用例集,如create_users.yml

    2、编写用例注意事项

    (1)extract响应结果的字段有 : status_code, cookies, elapsed, headers, content, text, json, encoding, ok, reason, url。如果响应结果中有多层嵌套,可通过content.xxx.0.id格式获取id,其中content是指响应内容,xxx是响应内容中的某个字段,0表示获取xxx数组中第一个内容。
    (2)所有json/yaml和.env文件中格式错误都会导致执行失败。
    .env编辑时需注意:从第一行开始编辑,结尾不要有空行,采用key=value,value不需用“”括起来,否则会变成value的一部分
    (3)支持的检验器有eq(=)、lt(<)、le(<=)、gt(>)、ge(>=)、ne(!=)、str_eq、len_eq、len_gt、len_ge、len_lt、len_le、contains、contained_by、type_match、regex_match、startswith、endswith。

    五、变量或函数引用

    1、变量引用
    接口用例中,取值时可以通过自定义,也可以引用其他已定义好的变量或参数,格式为$var

    2、函数引用
    接口用例中,取值时除了自定义、引用其他变量外,还可以引用debugtalk.py定义的函数来获取到函数返回值,格式为${get_value()}

    六 环境变量引用

    1、编辑.env文件

    注意:env一般放置在项目根目录,若放置在其他目录或者命名不是.env时,可采用 --dot-env-path 参数指定文件路径,如hrun .../x.yml --dot-env-path .../xxx.env

    2、引用环境变量

    (1)通过${ENV()}获取

    (2)在debugtalk.py中通过os.environ获取

     

    七、参数化数据驱动

    Httprunner2.0中支持testsuits中进行参数化和数据驱动,假如测试用例中定义了多个参数,那么测试用例在运行时会对参数进行笛卡尔积组合,覆盖所有参数组合情况。
    1、参数情况分2种
    (1)独立参数
    (2)具有关联性的多个参数

    2、指定数据源方式分3种
    (1)在 YAML/JSON 中直接指定参数列表


    (2)通过内置的P函数引用 CSV 文件

    (3)调用 debugtalk.py 中自定义的函数生成参数列表

     

    附:
    1、以上内容参考或引用以下网址

    https://testerhome.com/topics/18691
    https://github.com/HttpRunner/HttpRunner
    https://cn.httprunner.org/
    https://debugtalk.com/post/HttpRunner-testcase-layer/

  • 相关阅读:
    总结6.6 PHP后台登录和文件上传
    【017期】JavaSE面试题(十七):JVM之内存模型
    【016期】JavaSE面试题(十六):反射
    【015期】JavaSE面试题(十五):网络IO流
    【014期】JavaSE面试题(十四):基本IO流
    【013期】JavaSE面试题(十三):多线程(3)
    【012期】JavaSE面试题(十二):多线程(2)
    【011期】JavaSE面试题(十一):多线程(1)
    【010期】JavaSE面试题(十):集合之Map
    【009期】JavaSE面试题(九):集合之Set
  • 原文地址:https://www.cnblogs.com/testlearn/p/11367961.html
Copyright © 2011-2022 走看看