Package: tep
简介tep是Try Easy Pytest的首字母缩写，帮你轻松上手pytest。如果你选择pytest做自动化，又不知道该怎么设计框架，那么可以学习和使用tep。特点：关键字驱动HAR包转换pytest用例安装Python版本：12.1，下载：https://www.python.org/downloads/创建虚拟环境：python -m venv venv激活虚拟环境，Windows用户：activate.batMac用户：source venv/bin/activate安装tep：pip install tep验证安装成功：tep -VCurrent Version: V2.2.2

 ____o__ __o____   o__ __o__/_   o__ __o
  /   \   /   \   <|    v       <|     v\
       \o/        < >           / \     <\
        |          |            \o/     o/
       < >         o__/_         |__  _<|/
        |          |             |
        o         <o>           <o>
       <|          |             |
       / \        / \  _\o__/_  / \手动编写用例执行命令tep new demo创建项目脚手架，demo为项目名称Created folder: demo
Created folder: demo/case
Created folder: demo/data
Created folder: demo/data/har
Created folder: demo/report
Created file:   demo/replay.py
Created file:   demo/run.py
Created file:   demo/conftest.py
Created file:   demo/pytest.ini
Created file:   demo/.gitignore
Created file:   demo/case/__init__.py
Created file:   demo/case/test_demo.py
Created file:   demo/data/UserDefinedVariables.yaml在case目录中，新建文件test_demo.py定义函数：deftest():输入关键字HTTPRequestKeyword：deftest(HTTPRequestKeyword):填写请求方式和URL：HTTPRequestKeyword("get",url="http://httpbin.org/status/200")把响应存入response对象：response=HTTPRequestKeyword("get",url="http://httpbin.org/status/200")添加断言：assertresponse.status_code==200完整代码：deftest(HTTPRequestKeyword):response=HTTPRequestKeyword("get",url="http://httpbin.org/status/200")assertresponse.status_code==200抓包转换用例执行命令tep new demo创建项目脚手架，demo为项目名称Created folder: demo
Created folder: demo/case
Created folder: demo/data
Created folder: demo/data/har
Created folder: demo/report
Created file:   demo/replay.py
Created file:   demo/run.py
Created file:   demo/conftest.py
Created file:   demo/pytest.ini
Created file:   demo/.gitignore
Created file:   demo/case/__init__.py
Created file:   demo/case/test_demo.py
Created file:   demo/data/UserDefinedVariables.yaml通过Proxyman等工具抓包，导出为HAR包：将HAR包放入data/har目录中，执行replay.py在case/replay目录下就能看到自动生成的pytest用例。HTTP请求一、GET
1.1 GETHTTPRequestKeyword("get", url="")1.2 GET、HeaderHTTPRequestKeyword("get", url="", headers={})1.3 GET、Header、查询参数
1.3.1 直接拼在url后面HTTPRequestKeyword("get", url="" + "?a=1&b=2", headers={})1.3.2 JSON转查询参数from urllib.parse import urlencode

query = {}
request("get", url="" + "?" + urlencode(query), headers={})1.4 GET、Header、表单HTTPRequestKeyword("get", url="", headers={}, params={})二、POST
2.1 POSTHTTPRequestKeyword("post", url="")2.2 POST、HeaderHTTPRequestKeyword("post", url="", headers={})2.3 POST、Header、JSONHTTPRequestKeyword("post", url="", headers={}, json={})2.4 POST、Header、表单HTTPRequestKeyword("post", url="", headers={}, data={})三、PUT
3.1 PUTHTTPRequestKeyword("put", url="")3.2 PUT、HeaderHTTPRequestKeyword("put", url="", headers={})3.3 PUT、Header、JSONHTTPRequestKeyword("put", url="", headers={}, json={})3.4 PUT、Header、表单HTTPRequestKeyword("put", url="", headers={}, data={})四、DELETE
4.1 DELETEHTTPRequestKeyword("delete", url="")4.2 DELETE、HeaderHTTPRequestKeyword("delete", url="", headers={})五、上传文件
5.1 上传图片files = {
    'file': ('filename', open('filepath', 'rb'), 'image/jpeg')
}
HTTPRequestKeyword("post", url="", headers={}, files=files)注意requests会自动添加{"Content-Type":"multipart/form-data"}，使用headers不能再重复添加5.2上传zipfiles = {
    'file': ('filename', open('filepath', 'rb'), 'application/x-zip-compressed')
}
HTTPRequestKeyword("post", url="", headers={}, files=files)🌟更新日志🌟✅V2.2.4去掉loguru，不依赖visual c++，改用Python内置logging添加pytest.ini配置，支持控制台实时日志日志输出到pytest-html测试报告日志的Elapsed，毫秒保留2位小数V2.2.3case文件夹下使用中文命名，目录名+模块名（包名+模块名）修改pytest配置python_files = *.py，识别任意名称脚手架添加中文命名示例脚手架添加场景测试用例脚手架添加Mock服务工具脚手架添加fixture\fixture_login.pyrequests日志耗时改为毫秒V2.2.2基于Python12.1版本，poetry update移除allure报告，去掉--tep-reports命令行参数定制pytest-html报告内容和样式，单个HTML文件查看报告V2.2.1新增关键字StringKeyword，url使用${}替换变量回放配置添加hookVar，可自定义变量池回放配置添加hookUrl，可自定义url回放配置添加hookHeaders，可自定义headers修复BUG，回放对比生成HTML，删除顶部多余tdV2.2.0重要：BodyKeyword改名为JSONKeyword重要：headers和body均为String，多行字符串表示，用JSONKeyword转为dict重要：新增关键字VarKeyword，与JSONKeyword结合使用，实现${}用法，在字符串中直接替换变量重要：去掉Result类，无须指定返回类型和定义中间变量，让关键字返回动态起来抓包自动生成用例，配置新增jsonIndent，默认设置为4，换行且4个空格缩进，可设置None不换行抓包自动生成用例，配置mode改名为overwrite，默认跳过，True则覆盖抓包自动生成用例，根据新特性，优化模版代码V2.1.2优化Har，支持指定目录，按增量/全量转换pytest用例V2.1.1HAR包转换pytest用例功能纳入脚手架，主推，内容写入教程“快速入门”章节脚手架.gitignore文件后缀问题修复V2.1.0支持HTTP/2协议，httpx库实现支持HAR包转换为pytest用例，支持HTTP1和HTTP2协议基于HAR包的回放对比，字段对比输出TXT，文本对比输出HTML自定义日志对象，logger和sys_logger输出到用户/系统不同文件支持接口重试，CODE码/异常匹配，超时设置等，tenacity库实现V2.0.1 cli修改，查看版本tep -V，V大写，创建脚手架tep new demo，使用newV2.0.0 tep关键字驱动框架V1.0.0 tep小工具完整教程V0.2.3 tep小工具首次开源