Win HttpRunner3 + Allure 实现接口自动化
HTTPRunner3介绍:
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
HTTPRunner3核心功能介绍:
○ 集成了requests库强大功能,在处理https请求上更加优雅人性化(这意味着httprunner(3.x)工具本身的性能和稳定性会更高)
○ 提供了yaml,json的case编写格式,并以pytest方式,更编译和优雅的运行(比较方便的编辑转换后python语言的测试case)
○ 利用har的优势,方便的录制和导出并生成测试case
○ 提供了一些列的机制支持一些复杂的测试场景
○ 通过debugtalk.py插件支持自定义函数的编写
○ 通过jmespath,方便对返回的json进行校验
○ 通过pytest的强大插件生态补充了httprunner的功能
○ 通过allure,让测试报告更加美观,可读性更强
○ 通过和locust的结合,很方便利用httprunner进行接口的性能测试
○ httprunner以命令行方式运行,也更方便接入CI/CD
一、HTTPRunner3安装
1.进入File → Settings → Project → Python Interpreter
2.执行下面命令安装
pip3 install httprunner
二、HTTPRunner3使用
1.创建目录(脚手架)
在Terminal 输入 httprunner startproject bkydm
执行完成项目的目录结构
2.用例的生成
HttpRunner提供了录制工具,能够将har文件转换成pytest类型或者yaml/json类型的用例。而har文件可以通过抓包软件获得
3.使用Charles获取har文件
选择需要获取的接口,右键点击Export Session,文件类型选择.har格式保存
4.har文件转测试用例
在Terminal 输入 har2case bkydm/har/bkyts.har
执行会完成 出现 bkyts_test.py 文件
将 bkyts_test.py 文件移动到testcases文件夹下
5.运行用例
在Terminal 输入 pytest bkydm/testcases/bkyts_test.py
运行完成后,会在logs文件夹下生成对应的log文件,里面记录了测试过程及结果
三、Allure安装
1.执行下面命令安装
pip3 install allure-pytest
注: 也可通过Pycharm(File → Settings → Project → Python Interpreter)进行搜索安装
2.下载地址
https://github.com/allure-framework/allure2/releases
解压后将allure/bin目录添加至系统环境变量中
四、Allure使用
1.生成测试报告,执行下面两个命令
在Terminal 输入 pytest bkydm/testcases/bkyts_test.py --alluredir=bkydm/reports/allure_results
在Terminal 输入 allure generate --clean bkydm/reports/allure_results -o bkydm/reports/allure_reports
生成结果展示
2.测试报告查看
至此配置完成
五、补充个run.py
import pytest import os if __name__ == '__main__': pytest.main(["testcases", "--alluredir", "reports/allure_results"]) os.system(r"allure generate --clean reports/allure_results -o reports/allure_reports")
to be continued...