• httprunner3源码解读(1)简单介绍源码模块内容


    前言

    最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于httprunner1.5.8测试框架,1.0和3.0差距还是很大的,所以自己想集成个3.0的平台,既然要继承,读懂源码必不可少
     

    源码目录结构

    我们先来看下源码的目录结构

     

    app

    是一个Python package,这部分主要使用了fastapi框架

    ├── __init__.py
    ├── main.py
    └── routers
        ├── __init__.py
        ├── debug.py
        ├── debugtalk.py
        └── deps.py
    

    builtin

    这个包做了一些内置的功能

    ├── __init__.py
    ├── comparators.py
    └── functions.py
    
    • comparators:内置验证校验器
    • functions:内置的一些方法
       

    ext

    httprunner基础上集成了别的插件

    ├── __init__.py
    ├── har2case
    │   ├── __init__.py
    │   ├── core.py
    │   └── utils.py
    ├── locust
    │   ├── __init__.py
    │   └── locustfile.py
    └── uploader
        ├── __init__.py
    
    • har2case:将.har生成一个测试用例,支持yaml/json/pytest
    • locust:集成了locust性能测试
    • uploader:集成了上传文件的功能
       

    cli.py

    命令行驱动执行
     

    client.py

    客户端相关方法,主要是封装 requests.Session.request,安全调用,输出log等, 给runner.py调用.
     

    compat.py

    提供各种处理兼容性的方法,包括让v2版本的用例能在v3版本继续运行的相关转换方法
     

    exceptions.py

    定义了失败类型的异常信息
     

    loader.py

    加载文件内容的方法
     

    make.py

    主要集成参数使之生效在测试用例中,如configrequestteststep等等,构成一个可用的用例
     

    models.py

    定义各种model类,以BaseModel为父类
     

    parser.py

    各种解析方法,主要用于数值类型判断后自动转换
     

    response.py

    处理响应报文格式.
     

    runner

    运行项目的核心
     

    scaffpld.py

    创建项目脚手架,生成框架的基本模板
     

    testcase

    测试用例的信息
     

    utils.py

    一些工具函数

  • 相关阅读:
    XCode9打包上传遇到的问题
    iOS Category
    ios view生成图片
    xcode8 注释快捷键不能用的解决办法
    warning: templates not found
    Quartz 2D编程指南
    关于键盘输入中文控制字数 (找了很久,最好的写法)真是完美
    小知识
    UIView 的hitTest 添加屏蔽层 但不影响下一层操作
    ios 绘制不规则 图形
  • 原文地址:https://www.cnblogs.com/jiakecong/p/15509152.html
Copyright © 2020-2023  润新知