本人工作中主要对接口与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框架接口性能测试(一)的更多相关文章

  1. Python locust性能测试框架模板

    locust框架模板 from locust import HttpLocust, TaskSet, task import Queue class UserBehavior(TaskSet): de ...

  2. Locust 接口性能测试 - 转载一 (后期熟悉实践自己出一套完整的)

    转载大佬   ,.. 另外一篇:https://www.cnblogs.com/imyalost/p/9758189.html记录一下接口性能测试的学习 先熟悉一下概念: Locust是使用Pytho ...

  3. 用ladon框架封装Python为Webservice接口以及调用接口的方法

    一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...

  4. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

  5. Python Locust对指定网站“一键压测”

    [本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...

  6. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  7. python locust 进行压力测试

    最近公司项目周期比较赶, 项目是软硬结合,在缺少硬件的情况下,通过接口模拟设备上下架和购买情况,并进行压力测试, 本次主要使用三个接口 分别是3个场景: 生成商品IP, 对商品进行上架, 消费者购买商 ...

  8. Awesome Python,Python的框架集合

    Awesome Python A curated list of awesome Python frameworks, libraries and software. Inspired by awes ...

  9. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...

随机推荐

  1. C# asp.net mvc 注解验证

    看代码,看注解,看懂了单词,没看懂意思. 今日只能专攻一下这项特性. 1.Remote 在看这个例子的时候 ,看了JsonResult 以及 JsonRequestBehavior.AllowGet解 ...

  2. 【Python音乐生成】这是一个超棒的dataset

    http://colinraffel.com/projects/lmd/

  3. Dll注入:注册表注入

    在系统中每一个进程加载User32.dll时,会受到DLL_PROCESS_ATTACH通知,当User32.dll对其进行处理时,会取得注册表键值HKEY_LOCAL_MACHINE\Softwar ...

  4. mac上Apache修改目录浏览权限

    sudo vim /etc/apache2/httpd.conf <Directory "/Library/WebServer/Documents"> # # Poss ...

  5. #linux 命令使用 cp -未完结版

    下载了sublime 解压之后,想把文件夹放到opt目录,这里用命令cp将其复制过来 johnny@johnny-pc:~$ sudo cp -r ~/下载/Sublime_2.0.2 /opt/ [ ...

  6. python剑指offer 链表中环的入口节点

    题目: 一个链表中包含环,请找出该链表的环的入口结点. 思路: 先说个定理:两个指针一个fast.一个slow同时从一个链表的头部出发, fast一次走2步,slow一次走一步,如果该链表有环,两个指 ...

  7. 函数指针 && 指针函数

    bitmap.anim_and_exit((void(*)(void*, int))anim_gpu,(void(*)(void*))anim_exit); 在学习arm过程中发现这“指针函数”与“函 ...

  8. java内存模型原理阅读总结

    Java内存模型可以理解为在特定操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象.不同架构的物理计算机可以有不一样的内存模型,java虚拟机也有自己的内存模型,java虚拟机规范中试图定义一种 ...

  9. JS MarcoTasks MicroTasks

    JS MarcoTasks MicroTasks 在JS的event loop中,有两种任务队列microtasks和macrotasks microtasks process.nextTick Pr ...

  10. Express框架 --router/app.use

    翻看去年自己记录的印象笔记,准备把笔记上的一些内容也同时更新到博客上,方便自己查看. 1.app.use和app.get的区别及解析 app.use(path,callback)中的callback既 ...