httprunner学习笔记

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

核心特性

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于 HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

hrun环境准备

   python环境:python 3.6

    httprunner 1.5.8

    pip3 install httprunner==1.5.8 --index-url https://pypi.douban.com/simple

    hrun –V 查看版本号

    Linux环境安装: 查找hrun find / -name hrun

              添加软链接 ln -s /usr/local/python3/bin/hrun /usr/bin/hrun

              如果已经有了,就删除 rm /usr/bin/hrun

    har2case

    pip install har2case==0.3.1 --index-url https://pypi.douban.com/simple

 测试准备

     fiddle抓包导出.har文件

    右上角File->Export Sessions->Selected Sessions->Select Export Format->勾选HTTPArchive v1.1

    

 转脚本.har转换成.yml

har2case *****.har -2y

filter和exclude过滤

运行脚本

hrun *****.yml

运行文件下所有脚本:hrun ***\test\

  范例

- config:
    name: logincase
- test:
    name: test_api_login2
    request:
        url: http://********/api/v1/userinfo
        method: POST
        headers:
            Content-Type: application/json
            Authorization: Token ${token()}
        json:
            age: '23'
            mail: [email protected]
            name: hanxi
            sex: M
    validate:
        - eq: [content.message,update some data!]

config:公共配置

   name:模块名

test:测试用例

  name:测试用例名

  request:

      url:请求地址

      method:请求方式

      headers:请求头

      json:请求参数

  validate:断言

 获取token操作

方法一:

    yml 提取token

 方法二:

    debugtalk.py 辅助函数获取token

 应用token

debugtalk.py方法

 yml 方法

 参数化数据驱动

方法一:

 方法二:

 方法三:

 引用csv文件

 

本想创建data文件统一管理数据,结果不ok

报错(httprunner.exceptions.ParamsError: parameters syntax error!),望大佬指导!

 方法四:

 debugtalk.py 中定义函数 testdata,yml文件中引用

猜你喜欢

转载自www.cnblogs.com/MrqiuS/p/12915101.html