junit testng unittest pytest , httprunner robotframework 不需要写脚本
httprunner3
一、3.0架构图
二、设计理念
1、利用开源的项目,不重复造轮子,只是拼装轮子
2、遵循约定大于配置
3、配置文件YAML,JSON组织测试用例
三、httprunner3.0使用
1、直接安装httprunner
pip install httprunner
pip install har2case
2、验证环境
hrun -V
遇到,ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘
pip list,查看Jinja2版本
卸载这个包:pip uninstall Jinja2
到https://www.lfd.uci.edu/~gohlke/pythonlibs/#jinja2
找到Jinja2,选择其他版本安装,使用3.0.3正常了,
下载.whl文件之后,执行命令
pip install xxx.whl
har2case -V
3、五个命令
httprunner 主命令
hun 用于运行yaml/json/pytest的测试用例 hrun XXXX.yml
hmake 将yaml /json转化成pytest文件
har2case 用于将har文件转化成yaml/json文件 , har2case getLogin.har -2y
locust 用于性能测试。
从fiddler中导出 har格式的包,
然后使用, har2case getLogin.har -2y 转换为yaml格式的测试用例,
har2case getLogin.har -2j 转换为json格式的测试用例
har2case getLogin.har 转化为py文件的测试用例
最后使用 hrun XXXX.yml ,运行这个测试用例,查看结果。
config:
name: testcase description
# 全局变量
variables: {}
teststeps:
- name: /amdc/mobileDispatch
request:
data:
appName: taobao_android
appVersion: 10.9.20
bssid: 02:00:00:00:00:00
carrier: wifi
channel: '1568860058617'
cv: '1'
domain: hybrid.miniapp.taobao.com mdike.alicdn.com mini-app-packages-cdn.taobao.com
miniapp-package-zcache.taobao.com miniapp-packages.oss-cn-shanghai.aliyuncs.com
zres.alicdn.com
lat: '0.0'
lng: '0.0'
mnc: wifi
netType: WIFI
platformVersion: '11'
sign: 6f489cf32be694288fe832dee3c00642d731dea2
signType: sec
stackType: '4'
t: '1647075393922'
headers:
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; M2101K9C Build/RKQ1.201112.002)
method: POST
params:
appkey: '21646297'
deviceId: YixgL02fSIYDAJRUR3xrQuae
platform: android
v: '5.1'
url: http://amdc.m.taobao.com/amdc/mobileDispatch
validate:
- eq:
- status_code
- 200
- eq:
- headers.Content-Type
- application/json;charset=UTF-8
如果存在上下关联的接口,可以将两个接口合到一起生成一个har文件。
extract可以提取上一个接口返回的, context代表返回的对象
extract: content.access_token, 取上一个接口的返回
debugtalk.py 里创建方法,可以在yml文件中 使用${方法名} 进行使用
hrun ../文件名 --html=report.html 生成测试报告