本人工作中主要对接口与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. Sentinel spring-cloud-gateway adapter(1.6)异常错误之@EnableCircuitBreaker

    sentinal 大坑 使用gateway adaper包出现@EnableCircuitBreaker did you forget include starter的异常 这时候千万不要学我引入cl ...

  2. Luogu [P1248] 加工生产调度

    题目链接 这个题可以贪心 我们首先想:对于所有产品,我们大致可以将其分为三类: ①.在A车间的时间要比B车间长. ②.两者一样. ③.在B车间的时间要比A车间长. 对于这三大类,怎么安排顺序? 可以看 ...

  3. Activiti学习记录(三)

    1.流程变量 1.1 流程图 流程变量在整个工作流中扮演很重要的作用.例如:请假流程中有请假天数.请假原因等一些参数都为流程变量的范围.流程变量的作用域范围是只对应一个流程实例.也就是说各个流程实例的 ...

  4. js display, visible 区别

    注意: display:none和visible:hidden都能把网页上某个元素隐藏起来,在视觉效果上没有区别,但是在一些DOM操作中两者有区别: display:none ---不为被隐藏的对象保 ...

  5. 五、MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

  6. mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数

    unix_timestamp 是时间戳,可以用数据库里的存储时间数据的字段 from_unixtime 是将时间戳格式化为你想要时间

  7. 闯越自动签到demo版补充说明

    demo代码:https://www.cnblogs.com/canmeng/p/11000548.html 定位出错是由于cookie 我重新登录账号过,cookies的值就变了 当时没注意cook ...

  8. OAuth2.0 social_django微博第三方登录

    python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目前流行的第三方 ...

  9. Compiler Error Message: CS0016: Could not write to output

    打开网页是报错: Server Error in '/' Application. Compilation Error Description: An error occurred during th ...

  10. STM32的四种输出模式(转载)

    1.普通推挽输出(GPIO_Mode_Out_PP):   使用场合:一般用在0V和3.3V的场合.线路经过两个P_MOS 和N_MOS 管,负责上拉和下拉电流.   使用方法:直接使用   输出电平 ...