from locust import HttpLocust,TaskSet,task import os class UserBehavior(TaskSet): @task def login(self): # 登录URL loginUrl = 'https://xxx/login' h = { "User-Agent":"Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, likeGecko)…
#!/usr/bin/env python # -*- coding: utf-8 -*- #模拟简单用户登录(自写) import getpass a = raw_input("Please enter the username:") b = getpass.getpass("Please enter your password:") user = "admin" pwd = "admin" if a == "wa…
[本文出自天外归云的博客园] Locust的介绍 Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试. Locust的安装 首先你要安装python2.6以上版本,而且有pip工具.之后打开命令行,分别安装locustio和pyzmq(命令如下): pip install locustio pip install pyzmq 之后我们就可以写性能测试脚本了. Locust脚本编写 接下来我们拿两个接口做一下测试,编写脚本如下(每一步都有注释…
安装参考 https://www.cnblogs.com/fnng/p/6081798.html <虫师大大的,很详细> ps:python3.7暂不支持locust:python3安装建议克隆github上的项目 可能需要下载 gevent-1.3.5-cp37-cp37m-win32.whl ,下载地址 https://www.lfd.uci.edu/~gohlke/pythonlibs/ pip install gevent-1.3.5-cp37-cp37m-win32.whl locu…
from locust import HttpLocust, TaskSet, taskimport jsonfrom common import readConfig class UserBehavior(TaskSet): # 定义用户行为 def on_start(self): # 当模拟用户开始执行TaskSet类的时候,on_start方法会被调用 pass def get_headers(self): """会员登录""" heade…
利用session实现与数据库链接,登录模块(在views.py) def login(request): # return HttpResponseRedirect('/') # 判断是否post方式,如果是则进行下面的表单处理 if request.method == 'POST': rs = Users.objects.filter(email=request.POST.get('email'), #django的filter方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在…
官网解释:用于在请求之间执行Web请求和保留(会话)cookie的类(以便能够登录和退出网站):记录每个请求,以便locust可以显示统计信息: from locust import TaskSet, task, HttpLocust, Locust from locust.clients import HttpSession import subprocess import random from common.sec_encrypt import AESEncrypt, md5_time f…
为locust中不同类型的事件,提供的钩子方法: from locust import TaskSet, task, events, Locust from locust.clients import HttpSession import subprocess import random, traceback from common.sec_encrypt import AESEncrypt, md5_time from common import read_config from common…
TaskSet类和TaskSequence类可用于嵌套<可以在TaskSequences中嵌套TaskSets,反之亦然>: from locust import TaskSet, task, HttpLocust, TaskSequence, seq_task import subprocess class WebUser(TaskSet): @task(5) def first_task(self): print('执行5次:') @task(2) class IosUser(TaskSe…
from locust import TaskSet, task, HttpLocustimport queue class UserBehavior(TaskSet): @task def test_register(self): try: # get_nowait() 取不到数据直接崩溃:get() 取不到数据会一直等待 data = self.locust.user_data_queue.get_nowait() # 取值顺序 'username': 'test0000'.'usernam…