python接口性能测试_Python_Httprunner接口测试+locust性能测试

1、什么是接口?

接口,Application Programming Interface(API)

通俗的讲 就是HTTP请求

2、什么是接口测试?

接口测试测试组件间接口的一种测试。

主要用于检测外部系统与系统之间,系统内部各子系统的交互点。

很多前端和后端都是分离的,单独只从前端验证,远远不够,绕过前端太容易了,还需要从接口层面进行验证。

3、需要安装的模块:Requests

是Python的一个第三方HTTP库,然后有可能是这个星球上最好用的http库了

requests安装

Windows: 打开cmd命令行,输入pip install requests,等待安装完成即可

Linux: (建议使用Python3),终端中输入pip3 install requests,等待安装完成即可

Mac: (建议使用Python3), sudo python3 -m pip install requests,等待安装完成即可

验证是否安装成功:

打开命令行,输入python,在python shell环境下输入import requests没有报错即安装成功

4、requests的使用

一个最简单的GET请求:

组装请求: 请求可能包含url,params(url参数),data(请求数据),headers(请求头),cookies等,最少必须有url

发送请求,获取响应:支持get,post等各种方法发送,返回的是一个响应对象

解析响应: 输出响应文本

简单实类:

# 导入requests包

import requests

# GET请求

url = "http://www.baidu.com"  # 这里只有url,字符串格式

# 2. 发送请求,获取响应

res = requests.get(url) # res即返回的响应对象

# 3. 解析响应

print(res.text)  # 输出响应的文本

5、Python 接口测试类1(unittest、生成html报告)

文件目录:test1

6、Python 接口测试类2(unittest、ddt、邮件发送、xlsx、生成html报告)

文件目录:python_Interface-master

7、Httprunner框架测试接口(json/yaml、生成html报告)

官方使用文档:

接口获取便捷:

通过Charles获取到接口导出har文件,然后用命令转换成json文件

转换:

har2case apptest1.har 转换成JSON文件

har2case apptest1.har -2y 转换成yaml文件

Httprunner 的使用

输入命令:hrun apptest1.json

DEMO创建

hrun --startproject demo

1、全局变量

"variables": {

"url" : "https://ppweb.haierzhongyou.com"

}

2、引用参数

关键字:$参数名$user_id

3、缓存参数。

"extract": [

{"token": "content.data.token"}

],

4、数据驱动

config:

name:

testcases:

create user $username-$password:

testcase: testcases\test_demo.yml

parameters:

- index: ["test", "test1"] --- 单一参数列表

- username-password:

- ["user1", "111111"]

- ["user2", "222222"]

- ["user3", "333333"] --- 多参数列表

- resName-status: ${P(data/account.csv)} ---外部csv文件

5、重复运行

times: 5

6、跳转运行

"skip": "过滤次接口"

locust性能测试

使用locusts -V查看时,会提示需要先安装locustio

使用 pip 安装locustio包

pip install locustio

locusts 启动

使用locusts -f 启动脚本文件

locusts -f  1234.json

运行完成之后,可以看到locust的web页面在8089端口启动,接着在浏览器输入:http://localhost:8089/ 即可访问

设置模拟用户、每秒产生(启动)的虚拟用户数-点击启动按钮

性能测试参数

Type: 请求的类型,例如GET/POST。

request:当前请求的数量。

fails:当前请求失败的数量。

Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。

Average:平均值,单位毫秒,所有请求的平均响应时间。

Min:请求的最小服务器响应时间,单位毫秒。

Max:请求的最大服务器响应时间,单位毫秒。

Content Size:单个请求的大小,单位字节。

reqs/sec:是每秒钟请求的个数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值