简介
Apirun是Python第三方库,通过Excel表格的方式来执行接口测试或性能测试,旨在于提供一个轻量级的测试工具。类似的第三方库也有httprunner,业界也比较有名,需要维护一份YAML/JSON文件,所以更多的是对其二次封装后使用。可以视Apirun为httprunner的简化版本,在测试人员对编程零基础的情况下也能做接口&性能测试。
安装
pip install apirun
apirun依赖其它第三方包,建议有网的情况下执行命令安装。另外,apirun只对Python3做了适配(支持windows和Linux),如果没有安装Python3,则在安装时请勾选“设置环境变量”。
依赖的第三方包有:
ddt —— 数据驱动,与unittest配合使用;
xlrd —— 读取Excel表格中的数据;
requests —— 用来发起http(s)请求;
paramiko —— 与Linux系统进行交互;
yagmail —— 用来发送邮件;
keyring —— 将密码加密保存;
locustio —— 执行性能测试;
使用
apirun使用起来很简单,只需要在Excel中填好数据,之后在控制台中执行命令即可。其命令有:
主要参数介绍:
--demo —— 在当前文件夹生成接口测试的demo文件xls格式;
-f —— 后面为<api>.xls文件,执行接口测试并生成html测试报告;
-F —— 后面为文件夹,遍历文件夹中的.xls文件,执行接口测试,为每个测试文件生成测试报告;
--pt-demo —— 生成性能测试demo文件,xls格式;
--pt —— 后面为.xls文件,根据xls文件生成py性能测试脚本并自动执行;
--pt-not-run —— 只生成py性能测试脚本,不执行;
--master —— 分布式压测,和--pt一同使用;
接口测试示例
在控制台输入命令:
apirun --demo
当前文件夹中出现demo.xls文件,文件名称可以随意改动(建议英文),打开后输入接口测试数据:
注意,工作表的顺序和名称不要随意变动,否则会执行测试失败。
编辑好文件后,在控制台执行:
apirun -f demo.xls
在当前文件夹中会自动生成report文件夹,html测试报告在此文件夹中,js文件夹不要删掉,测试报告中的饼状图依赖js文件。
性能测试示例
在命令台中执行:
apirun --pt-demo
当前文件夹会自动生成PtDemo.xls文件,打开后进行编辑:
AuthInfo同接口测试中一样;
文档输入好后,保存,在控制台执行命令:
apirun --pt=PtDemo.xls
# 分布式压测:
apirun --pt=PtDemo.xls --master
命令执行成功后,在浏览器中键入:http://localhost:8089/,进入locust界面:
点击“Start swarming”开始执行性能测试。
在命令行中按
Ctrl + C
结束
Locust参考文档:https://docs.locust.io/en/stable/
Apirun源码:https://github.com/GuoTengda1993/apirun