zoukankan      html  css  js  c++  java
  • 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 *** est

      范例

    - 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: xxx@163.com
                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文件中引用

  • 相关阅读:
    抽象代数学习笔记
    WC2021 游记
    简单的数学题
    前缀和公式
    杜教筛
    [模板]BZOJ4756线段树合并
    SPOJ 694
    bzoj1367 可并堆
    莫比乌斯反演(理论)
    es6 Set数据结构
  • 原文地址:https://www.cnblogs.com/MrqiuS/p/12915101.html
Copyright © 2011-2022 走看看