zoukankan      html  css  js  c++  java
  • 认识一下~接口开源框架--httprunner(一)

    接口开源框架--httprunner

    简介

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

    安装

    安装环境

    HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。

    安装方法

    pip3 install httprunner==2.5.7

    安装完后利用 hrun -V 查看版本,出来版本则代表安装成功

     

    建议使用2.5.7稳定版本,3版本文档未更新,使用起来比较费力~

    使用准备

    准备一份接口操作文档,如果没有操作文档,则可以通过 Charles Proxy 或者 Fiddler  这类网络抓包工具进行抓包分析来了解接口的请求和响应细节。

    httprunner的主要文件格式

    YAML/JSON(必须):测试用例文件,存储接口测试相关信息

    debugtalk.py(可选):存储项目中逻辑运算辅助函数 该文件存在时,将作为项目根目录定位标记,其所在目录即被视 为项目工程根目录 该文件不存在时,运行测试的所在路径(CWD)将被视为项目工 程根目录

    .env(可选):存储项目环境变量,通常用于存储项目敏感信息

    .csv(可选):项目数据文件,用于进行数据驱动 reports:默认生成测试报告的存储文件夹

    测试用例结构

    • 每个 YAML/JSON 文件对应一个测试用例(testcase)

    • 每个测试用例为一个list of dict结构,其中可能包含全局配置项( config)和若干个测试步骤(test)

    • config 为全局配置项,作用域为整个测试用例

    • test 对应单个测试步骤,作用域仅限于本身

    用例格式

    通常一个脚本文件里面有如下模块:

    - config

    - test

    - test

    即:全局配置、用例、用例

    config模块里面定义的是整个文本测试集的变量,即全局变量、test模块里面定义的是具体接口请求,对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤

    举例:

    以微信公众号获取token接口为例,新建一个yaml文件,命名为get_token.yaml

     

    config模块

    name 本用例集名称

    request 请求全局变量,包括base_url(公共host)、headers等

    base_url 全局公共host,也可以不定义,用例中写全url即可

    以上全局配置,除了name,其他都是非必要的,根据需要添加。

    parameters 全局参数,用于实现数据化驱动,作用域为整 个用例。

    variables 定义的全局变量,作用域为整个用例

    output 整个用例输出的参数列表,可输出的参数包括公共的 variable 和 extract 的参数; 在 log-level 为 debug 模 式下,会在 terminal 中打印出参数内容

    test模块

    name 本条测试用例的名字

    request HTTP 请求的详细内容

    variables 测试步骤中定义的变量,作用域为当前测试步骤

    extract 从当前 HTTP 请求的响应结果中提取参数,并保存到参数变量中(例如 token),后续测试用例可通过$token的形式进行引用

    validate 测试用例中定义的结果校验项,作用域为当前测试用例,用于实现对当前测 试用例运行结果的校验

    setup_hooks 在 HTTP 请求发送前执行 hook 函数,主要用于准备工作

    teardown_hooks NO list 在 HTTP 请求发送后执行 hook 函数,主要用于测试后的清理工

    teardown_hooks 在 HTTP 请求发送后执行 hook 函数,主要用于测试后的清理工作

    request关键词

    headers:请求头部信息

    method: 请求方式

    url:请求地址

    host:请求主机地址

    params:GET请求参数

    data:表单形式的参数

    json:json格式的参数

    运行方式

    基于之前生成的json、yaml文件,通过命令行终端cd到用例所在目录,执行hrun 用例名称即可。

    运行yaml文件测试用例

     

    运行后可查看测试报告数据

     可查看详细请求和返回信息

    注意: test的执行顺序是自上而下执行,重点在于理解HttpRunner的分层结构以及包含关系

  • 相关阅读:
    Vue 路由的编程式导航与history模式
    Vue 路由配置、动态路由
    Vue 组件传值
    Vue 组件以及生命周期函数
    Vue 封装js
    记一次proc_open没有开启心得感悟
    面向内容的标记语言--markdonw
    浅谈索引
    mysql主从配置
    centos7下操作防火墙
  • 原文地址:https://www.cnblogs.com/HMeier/p/13111742.html
Copyright © 2011-2022 走看看