本人工作中主要对接口与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#版OpenCV进行圆心求取

    OpenCVSharp是OpenCV的.NET wrapper,是一名日本工程师开发的,项目地址为:https://github.com/shimat/opencvsharp. 该源码是 BSD开放协 ...

  2. SQL 语句实现行转列

    CREATE TABLE #tempcloum( [productNum] varchar() null, [year1] decimal not null, [year2] decimal not ...

  3. 传入指定字段名称就可以排序的EF写法

    private static IQueryable<T> SetQueryableOrder<T>(this IQueryable<T> query, string ...

  4. java +selenuim使用js显示控件

    操作selenium控件时,往往需要有些控件提前显示,特别是后台的一些控件,或者需要使用鼠标显示下拉的操作,有时鼠标悬停,在点击不怎么好使,就可以依靠js方式,提前让控件显示. 1.使用style的方 ...

  5. spark 之knn算法

    好长时间忙的没写博客了.看到有人问spark的knn,想着做推荐入门总用的knn算法,顺便写篇博客. 作者:R星月  http://www.cnblogs.com/rxingyue/p/6182526 ...

  6. 2018.6.5 Oracle plsql编程 游标的使用

    --3.查询10部门所有员工的姓名.(ref游标实现) 动态游标 declare --创建一种游标类型 type type_cursor is ref cursor; --声明变量指定游标类型 v_c ...

  7. 支持向量机: Maximum Margin Classifier

    支持向量机即 Support Vector Machine,简称 SVM .我最开始听说这头机器的名号的时候,一种神秘感就油然而生,似乎把 Support 这么一个具体的动作和 Vector 这么一个 ...

  8. 在mininet上基于ovs,ovx,pox搭建三点虚拟网络

    本次试验基于mininet平台,在平台中利用ovs新建1个交换机,以pox为控制器,ovx作为中间层实现虚拟化. 基础请参照http://ovx.onlab.us/getting-started/tu ...

  9. Oracle 函数 之 wm_concat()

    wm_concat() 把列转换成一行一列显示,使用wm_concat函数可以显示在一行一列. --1 建表 create table province_city ( province varchar ...

  10. 1045: [HAOI2008] 糖果传递

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4897  Solved: 2457[Submit][Status][Discuss] Descript ...