美文网首页
httprunner3.0接口测试框架说明文档

httprunner3.0接口测试框架说明文档

作者: gz_tester | 来源:发表于2021-04-22 15:30 被阅读0次

一、接口自动化测试框架

httprunner3.0接口自动化测试框架

二、项目

2.1 配置层

2.1.1 环境变量:通过加载.env的方式

建议数据库相关配置、base_url、常用用户数据等配置在环境变量中

  1. 在自动化测试项目的根目录中,创建 .env 文件,将敏感数据信息放置到其中,存储采用 name=value 的格式
DB_HOST=×××
DB_USER=×××
DB_PASSWORD=×××
USERNAME=×××
BASE_URL=×××
  1. 引用方式分为两种,一种是直接在yaml中引用,一种在debugtalk.py中引用
# 直接在yaml中引用
config:
    name: ×××
    variables:
        username: ${ENV(USERNAME)}
    base_url: ${ENV(BASE_URL)}

teststeps:
    -   name: checkUserRole
        request:
            json:
                oaAccount: $username
            method: POST
            url: ×××
# 配置在debugtalk中
def base_url():
    """
    base_url
    :return:
    """
    return os.environ['BASE_URL']

2.1.2 测试数据

秉持维护成本最小的原则,测试数据要与测试用例分离,后续如果接口api不发生变化,直接修改测试数据即可

  1. 测试数据可以和测试用例分开存放,测试用例放在testcase下,测试数据建议放在testdata下
  2. 测试数据建议通过redis、数据库或者上下级用例关联获取,不要写死

2.2 用例层

官方文档给出的用例模板如下所示,建议在此基础上进行优化,按照数据分离的原则,参数化配置用例,维护成本越小越好。

config:
    name: xxx
    variables:              # config variables
        varA: "configA"
        varB: "configB"
        varC: "configC"
    parameters:             # parameter variables
        varA: ["paramA1"]
        varB: ["paramB1"]

teststeps:
-
    name: step 1
    variables:              # step variables
        varA: "step1A"
    request:
        url: /$varA/$varB/$varC # varA="step1A", varB="paramB1", varC="configC"
        method: GET
    extract:                # extracted variables
        varA: body.data.A   # suppose varA="extractVarA"
        varB: body.data.B   # suppose varB="extractVarB"
-
    name: step 2
    varialbes:
        varA: "step2A"
    request:
        url: /$varA/$varB/$varC # varA="step2A", varB="extractVarB", varC="configC"
        method: GET

优化后:

config:
    name: xxx
    base_url: ${base_url()}           # 为方便后续多环境配置
    variables:
        varA: "configA"                  # 建议此处的数据通过debugtalk.py读取,不要写死

teststeps:
-   name: xxx
    request:
        method: POST
        url: xxx
        json:
          field: $varA
    setup_hooks:
        - ${headers($request)}           # 建议此处的数据通过debugtalk.py读取,方面后续灵活配置
    extract:                # 提取返回结果
        varB: body.data.B      # suppose varB="extractVarB"
    validate:                                # 断言
        -   eq: ["status_code", 200]
        -   eq: [json.code, "200"]
        -   eq: [json.message, 查询成功]

-   name: step 2
    varialbes:
        varA: "step2A"
    request:
        url: /$varA/$varB/$varC # varA="step2A", varB="extractVarB", varC="configC"
        method: GET
    validate:                                # 断言
        -   eq: ["status_code", 200]

2.3 测试报告

2.3.1 pytest内置html测试报告

使用方法: --html=path create html report file at given path.

# 终端执行
hrun testcases --html==/report/0422.html                     
image.png

2.3.2 allure测试报告

终端执行

hrun testcases --alluredir=allure_results
allure generate --clean   allure_results -o report/html

或者创建run.py文件

# _._ coding: utf-8 _._

import subprocess

subprocess.call("hrun testcases --alluredir=allure_results", shell=True)
subprocess.call("allure generate --clean   allure_results -o report/html", shell=True)
image.png

三、最后附上项目的目录结构图及说明

image.png

相关文章

  • httprunner3.0接口测试框架说明文档

    一、接口自动化测试框架 二、项目 2.1 配置层 2.1.1 环境变量:通过加载.env的方式 建议数据库相关配置...

  • JMeter(1) 介绍+环境+安装+使用

    开发接口测试案例的整体方案: 分析出测试需求,并拿到开发提供的接口说明文档; 从接口说明文档中整理出接口测试案例(...

  • Jmeter在企业中如何设计场景

    开发接口测试案例的整体方案:1、分析测试需求,并拿到开发提供的接口说明文档;2、从接口说明文档中整理出接口测试案例...

  • httprunner接口测试框架说明文档

    一.流程说明 二.配置config 1. 为什么要配置? 在接口测试过程中,会有好多参数需要指定,如果没有一个统一...

  • APP测试流程和方法

    1.测试流程 1.1.测试资源准备 (1)待测试的APP、产品需求文档、产品原型图、接口说明文档以及设计说明文档等...

  • 接口测试用例设计checklist

    接口文档管理平台:可以使用yapi 接口测试工具:统一为postman、jmeter、还有我们自己的测试框架,平台...

  • Swagger使用说明

    Swagger使用说明 自动生成接口文档,保持代码和文档同步,集成在线测试 相关注解解读 @Api用在类上,说明该...

  • jmeter-如何进行接口测试(转)

    一、开发接口测试案例的整体方案: 第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档; 第二步:从接口说明...

  • 谈谈单接口测试

    如果只是单个接口的测试还是归属于功能测试。 平时我们是怎么做接口测试的?接口文档、接口文档,一定要看接口文档。初学...

  • 使用python实现简单接口测试实例

    说明:此次接口测试实例是基于天气API所需相关 python3 unittest框架 requests模块 测试A...

网友评论

      本文标题:httprunner3.0接口测试框架说明文档

      本文链接:https://www.haomeiwen.com/subject/kyialltx.html