zoukankan      html  css  js  c++  java
  • HttpRunner 3.x (三)环境与简介 测试

    1、HttpRunner简介

      httprunner是一款面向HTTP(s)协议的通用开源测试框架,只需要编写维护一份YAML/JSON脚本,

      既可实现自动化测试,持续集成等多种测试需求。

      可支持的接口协议:HTTP(S)

      不支持的接口协议: websocket dubbo 等其他

    2、HttpRunner与其他框架对比有哪些优势

      

      httprunner的优势在于上手容易(不同太多代码量,也不用考虑代码数据分类)

      只需要维护YMAL/JSON脚本即可实现接口自动化

      当然复杂的场景需要借助 debugtalk.py写辅助函数完成

    3、 HttpRunner框架原理(基于requests库发送请求)

      

     4、HttpRunner主要特性

      4.1:继承Reauests的全部特性,轻松实现HTTP(S)的各种测试需求

      4.2:采用YMAL/JSON的形式面试测试场景,保证测试用例描述的统一性和可维护性

           4.3:在HAR支持下记录并生成测试用例

      4.4:支持variables、extract,validate,hooks机制,创建非常复杂的测试方案

      4.5:借用辅助函数(debugtalk.py),任何功能都可以在测试用例的任何部分使用

      4.6:使用jmespath,提取和验证json的响应从未如此简单

      4.7:有了pytest,数百个插件随时可用

      4.8:使用allure,测试报告可以非常强大

      4.9:通过重复使用Locust,你可以进行性能测试,而且无需额外的工作

      4.10:支持CLI命令,与CI、CD完美结合

    5、HttpRunner 用例展示--YAML格式

    name: 媒体充值-正常充值
    base_url: ${ENV(base_url)}
    variables:
        applicationType: 0
        processType: 0
        contractId: '2969995'
        supplierContractId: '2970009'
        payPort: '2140600'
        detailList:
            - accountId: '1434799031334154242'
              accountCurrencyRecharge: '1'
        fileList: [ ]
        reason: API自动化测试
    request:
        url: ****
        method: POST
        headers:
            content-type: application/json
            cookie: XXH-SSO-TOKEN=$token
        json:
            applicationType: $applicationType
            processType: $processType
            contractId: $contractId
            supplierContractId: $supplierContractId
            payPort: $payPort
            detailList:
                - accountId: '1434799031334154242'
                  accountCurrencyRecharge: '1'
            fileList: $fileList
            reason: $reason
    validate:
        - eq: [status_code, 200]

    6、HttpRunner 用例展示--JSON格式

    {
      "name": "媒体充值-正常充值",
      "base_url": "${ENV(base_url)}",
      "variables": {
        "applicationType": 0,
        "processType": 0,
        "contractId": "2969995",
        "supplierContractId": "2970009",
        "payPort": "2140600",
        "detailList": [
          {
            "accountId": "1434799031334154242",
            "accountCurrencyRecharge": "1"
          }
        ],
        "fileList": [],
        "reason": "API自动化测试"
      },
      "request": {
        "url": "*****",
        "method": "POST",
        "headers": {
          "content-type": "application/json",
          "cookie": "XXH-SSO-TOKEN=$token"
        },
        "json": {
          "applicationType": "$applicationType",
          "processType": "$processType",
          "contractId": "$contractId",
          "supplierContractId": "$supplierContractId",
          "payPort": "$payPort",
          "detailList": [
            {
              "accountId": "1434799031334154242",
              "accountCurrencyRecharge": "1"
            }
          ],
          "fileList": "$fileList",
          "reason": "$reason"
        }
      },
      "validate": [
        {
          "eq": [
            "status_code",
            200
          ]
        }
      ]
    }
  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/jiliangceshi/p/15558172.html
Copyright © 2011-2022 走看看