Skip to main content

har2pytest

从 HAR 抓包文件和 Swagger 文档生成 Python API 接口文件,并自动生成 pytest + allure 参数化测试用例的 CLI 工具。

安装

pip install har2pytest

验证安装:

har2pytest --help

快速开始

1. 从 HAR 文件生成 API 文件

# 同步模式(默认,使用 requests)
har2pytest api api_request.har

# 异步模式(使用 aiohttp + async/await)
har2pytest api api_request.har --async

2. 从 Swagger 文档生成 API 文件

# 同步模式
har2pytest swagger https://petstore.swagger.io/v2/api-docs

# 异步模式
har2pytest swagger https://petstore.swagger.io/v2/api-docs --async

3. 生成测试用例

# 查询类参数化测试(指定 URL)
har2pytest testcase api_request.har --pattern list_query --url /api/user/list

# 查询类参数化测试(带 task_id 标记)
har2pytest testcase api_request.har --pattern list_query --url /api/user/list --mark test_4291

# 复杂场景流程测试
har2pytest testcase api_request.har --pattern complex_scenario --url /api/user/login

# 批量生成(指定 API 文件目录)
har2pytest testcase --pattern batch --api-files apis/mobile_application

# 批量生成(指定 HAR 文件,自动提取接口并匹配 API 文件)
har2pytest testcase --pattern batch --api-files api_request.har

# 强制覆盖已存在的测试用例文件
har2pytest testcase api_request.har --pattern list_query --url /api/user/list --overwrite

# 异步模式(生成 async/await 测试代码,适用于所有模式)
har2pytest testcase api_request.har --pattern list_query --url /api/user/list --async

4. 查看 HAR 文件摘要

har2pytest summary api_request.har

详细文档

文档 说明
API 文件生成 从 HAR / Swagger 生成 API 文件的详细说明
HAR 文件解析 HAR 解析规则与参数过滤
Swagger 文档解析 Swagger 文档获取与参数提取
测试用例生成模式 list_query / complex_scenario / batch 三种模式详解

配置

在项目根目录创建 har2pytest_config.json 自定义配置。配置项详见 APIConfig 类(config.py)。

项目结构

har2pytest/
├── har2pytest/              # 核心代码
│   ├── __init__.py
│   ├── __main__.py          # CLI 入口
│   ├── client.py            # HTTP 客户端 (Client, AsyncClient)
│   ├── config.py            # 配置管理 (APIConfig)
│   ├── har_parser.py        # HAR 文件解析 (HARParser)
│   ├── har_generator.py     # HAR → API 文件生成
│   ├── api_generator.py     # API 文件生成 (APIGenerator)
│   ├── swagger_handler.py   # Swagger 文档处理 (SwaggerHandler)
│   ├── testcase_generator.py # 测试用例生成 (TestCaseGenerator)
│   ├── url_matcher.py       # URL 规范化与匹配 (URLMatcher)
│   ├── utils.py             # 工具函数
│   └── logger.py            # 日志配置
├── docs/                    # 详细文档
├── tests/                   # 单元测试
│   └── har2pytest_config_test.json  # 测试配置示例
├── pyproject.toml           # 项目配置
└── mkdocs.yml               # 文档站点配置

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

har2pytest-1.3.0.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

har2pytest-1.3.0-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file har2pytest-1.3.0.tar.gz.

File metadata

  • Download URL: har2pytest-1.3.0.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for har2pytest-1.3.0.tar.gz
Algorithm Hash digest
SHA256 71af5aad72459f14b2d3af01182ee8c3fb3a0988f6c583a10f9423c906ab168c
MD5 ee1cadc0d4a66846290c9e66e5b866e9
BLAKE2b-256 13225fbc1e709cf5567fa754a245d5756322f4ea1ac6cba5a3ca94a181b9f624

See more details on using hashes here.

Provenance

The following attestation bundles were made for har2pytest-1.3.0.tar.gz:

Publisher: publish.yml on hewei198711/har2pytest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file har2pytest-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: har2pytest-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 53.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for har2pytest-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07085814c658c4a66c7950e1c03af287a6c19946bdeb7f17b9091097a78b5004
MD5 72d3cefe31763e46f5b792d1ec62f3b5
BLAKE2b-256 4d6fa5e6fd022fa17f2f5b54a5d6d8136845a15fcf3462fd757b901cd1663e21

See more details on using hashes here.

Provenance

The following attestation bundles were made for har2pytest-1.3.0-py3-none-any.whl:

Publisher: publish.yml on hewei198711/har2pytest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page