【Python】locust框架接口性能测试(一)
本人工作中主要对接口与web进行性能测试,而接口测试主要为http协议接口和webservice接口,本文主要对locust框架http接口测试先进行简单介绍。
1、测试需求
对某系统登录接口进行测试,登录前需进行身份认证(摘要认证)。
2、环境准备
pycharm
Python 3.6
Windows 7
3、基本功能实现
对该系统进行摘要认证,实现登录功能,代码如下:
import requests
#导入HTTPDigestAuth,实现摘要认证
from requests.auth import HTTPDigestAuth
url = r'http://172.20.x.xxx:xxxx/login'
#请求头部
header = {"APP-Version":"ios-1.1"}
#摘要认证,post方法请求服务器
r=requests.post(url,auth=HTTPDigestAuth('username','password'),headers = header)
#打印服务器返回
print("返回码:"+str(r.status_code)+"\r\n"+"响应报文:"+"\n"+str(r.text))
4、压力发起
结合locust框架,形成压测脚本,对该系统发起压力,具体代码如下:
from locust import HttpLocust,TaskSet,task
import subprocess
import json
from requests.auth import HTTPDigestAuth
import requests
#TaskSet类.
class UserBehavior(TaskSet):
#开始前执行
def on_start(self):
pass
#等同于loadrunner事务
@task(1)
def login(self):
header = {"APP-Version": "ios-1.1"}
r = self.client.post("/login", auth=HTTPDigestAuth('username', 'password'), headers=header)
if json.loads(r.content)["tel_phone"] == ' ':
print("Got wrong response:"+str(r.content)) #This is another HttpLocust class.
class MobileUserLocust(HttpLocust):
weight = 3
task_set = UserBehavior
host = 'http://1.82.238.163:3001'
min_wait = 3000
max_wait = 6000
进入终端,执行命令:
locust -f D:\Locust\http接口测试.py
在浏览器输入localhost:8089,输入模拟用户数,点击“Start swarming”开始测试

进入主界面,实时TPS监控效果图:

响应时间效果图:

可以导出需要的数据:

以上对http接口测试locust框架进行了简单的介绍,locust性能测试框架部署及使用详解请参考:http://www.cnblogs.com/zhang-zhi/p/7642017.html,如有错误请大神指出!
【Python】locust框架接口性能测试(一)的更多相关文章
- Python locust性能测试框架模板
locust框架模板 from locust import HttpLocust, TaskSet, task import Queue class UserBehavior(TaskSet): de ...
- Locust 接口性能测试 - 转载一 (后期熟悉实践自己出一套完整的)
转载大佬 ,.. 另外一篇:https://www.cnblogs.com/imyalost/p/9758189.html记录一下接口性能测试的学习 先熟悉一下概念: Locust是使用Pytho ...
- 用ladon框架封装Python为Webservice接口以及调用接口的方法
一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...
- 基于Python的HTTP接口自动化测试框架实现
今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...
- Python Locust对指定网站“一键压测”
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- python locust 进行压力测试
最近公司项目周期比较赶, 项目是软硬结合,在缺少硬件的情况下,通过接口模拟设备上下架和购买情况,并进行压力测试, 本次主要使用三个接口 分别是3个场景: 生成商品IP, 对商品进行上架, 消费者购买商 ...
- Awesome Python,Python的框架集合
Awesome Python A curated list of awesome Python frameworks, libraries and software. Inspired by awes ...
- 关于python测试webservice接口的视频分享
现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...
随机推荐
- grunt + sass 使用记录
环境依赖 Nodejs for grunt Ruby for sass 配置文件 package.json { "name": "app", "ver ...
- C# sftp通过秘钥上传下载
一.适用场景 我们平时习惯了使用ftp来上传下载文件,尤其是很多Linux环境下,我们一般都会通过第三方的SSH工具连接到Linux,但是当我们需要传输文件到Linux服务器当中,很多人习惯用ftp来 ...
- docker制作共享jdk的tomcat镜像
FROM centos:7.4.1708 #挂载宿主机jdk到容器,节省空间 MAINTAINER huqiang:2018/10/12 ENV VERSION=8.5.34 ENV CATALINA ...
- linux下获取外网IP
使用阿里云或者有多个网卡IP的机器需要取外网IP时,可以用下面这种 wget -qO - ifconfig.co 更多方法参考:https://yq.aliyun.com/ziliao/105999
- centos 通用开发工具及库安装 有了它不用愁了
通用开发工具及库:# yum groupinstall "Development Tools" "Development Libraries"
- 常量池与方法区以及又读new String对象创建问题
又拿出这道String str1 = new String("abc");创建几个对象的面试题梳理了一下常量池与方法区的关系,希望能把这两者的关系通过这道面试题说明白 方法区是什么 ...
- 使用vue-cli创建项目
使用Vue UI创建.管理项目 1.全局安装vue-cli 3.0 npm install -g @vue/cli 2.启动vue ui 创建项目: vue ui
- 干净的架构The Clean Architecture_软件架构系列
本文转载自:https://www.jdon.com/artichect/the-clean-architecture.html ,这个博客站很有历史了,博主经常翻译Github大牛的文章,值得墙裂推 ...
- pm2 服务器命令
1..配置日志文件路径 命令:pm2 start /home/admin/node/fotonIp/bin/www --name ip -i 4 -o "/app/node/logs ...
- Mysql的一些纪要
unsigned 整型的每一种都分无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如 ...