日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythonlocust使用技巧_python locust 性能测试:HOOKS钩子方法

發布時間:2024/8/1 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythonlocust使用技巧_python locust 性能测试:HOOKS钩子方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為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.logger import print_file

def on_request_success(request_type, name, response_time, response_length):

print_file(

'success Type: {}, Name: {}, Time: {}ms, length: {}'.format(request_type, name, response_time,

response_length))

def on_request_failure(request_type, name, response_time, exception):

print_file(

'failure Type: {}, Name: {}, Time: {}ms, exception: {}'.format(request_type, name, response_time,

exception))

def on_locust_error(locust_instance, exception, tb):

print_file(

"error locust_instance: {}, exception: {}, traceback: {}".format(locust_instance, exception,

traceback.format_tb(tb)))

def on_hatch_complete(user_count):

print_file("User Locust have generate {} users".format(user_count))

def on_quitting():

print_file("Locust is quiting!")

events.request_success += on_request_success

events.request_failure += on_request_failure

events.locust_error += on_locust_error

events.hatch_complete += on_hatch_complete

events.quitting += on_quitting

class WebUser(TaskSet):

def on_start(self):

self.session = HttpSession('http://localhost:8000/api')

self.r = random.randint(10000, 99999)

@task(2)

def user_auth(self):

"""用戶認證"""

auth_user = ('lixiaofeng', 'fengzi802300')

res = self.session.get('/sec_get_event_list/', params={'eid': self.r}, auth=auth_user,

name='/sec_get_event_list/?eid=[eid]')

print_file(res.json())

# assert res.json()['status'] == 200, '用戶認證接口請求失敗!'

@task(1)

def aes_api(self):

payload = {'name': '187187011{}'.format(self.r)}

# 加密

encodeed = AESEncrypt(payload).encrypt_data()

# print(encodeed)

res = self.session.get('/sec_get_guest_list/', params={'data': encodeed},

name='/sec_get_guest_list/?data=[aes]')

print_file(res.text)

# assert res.json()['status'] == 200, 'AES接口加密請求失敗!'

@task(2)

def md5_api(self):

payload = {"eid": "{}".format(self.r), "name": "一加8手機發布會{}".format(str(self.r)), "limit": 2000, "status": "",

"address": "深圳寶體會展中心",

"start_time": "2019-09-15 22:40:00", 'time': '', 'sign': ''}

payload = md5_time(payload)

res = self.session.post('/sec_add_event/', data=payload, name='/sec_add_event/?data=[md5]')

print_file(res.text)

# assert res.json()['status'] == 200, 'md5接口加密請求失敗!'

@task(2)

def add_guest(self):

"""添加嘉賓"""

payload = {'eid': '{}'.format(self.r), 'realname': '趙小刀{}'.format(self.r),

'phone': '187011{}'.format(self.r),

'email': '187011{}@163.com'.format(self.r)}

res = self.session.post('/add_guest/', data=payload, name='/add_guest/?data=[payload]')

print_file(res.text)

class Run(Locust):

# host = 'http://localhost:8000/api'

task_set = WebUser

max_wait = 6000

min_wait = 3000

# 'locust -f D:\Interface_framework_Beauty\locust_files\locust_api.py --no-web -c 100 -r 10 --run-time {}s'.format(read_config.time)

def run():

subprocess.check_call(

'locust -f G:\Interface_framework_pytest\locust_files\\locust_test.py --no-web -c 1000 -r 100 --run-time {}s'.format(

read_config.time))

if __name__ == '__main__':

run()

1.request_success 成功完成請求后觸發;

參數:

request_tye:請求類型;

name:被調用url路徑;

response_time:響應時間,ms;

response_length:響應內容長度;

2.request_failure 請求失敗時觸發;

參數:

request_tye:請求類型;

name:被調用url路徑;

response_time:響應時間,ms;

exception:拋出的異常;

3.locust_eror 在執行locust類內發生異常時觸發;

參數:

locust_instance:發生異常的locust實例;

exception:拋出的異常;

tb:回溯的對象;

4.hatch_complete 生成所有locust用戶時觸發;

參數:

user_count:生成的用戶數;

5.quitting locust進程退出時觸發;

Python Locust性能測試框架實踐

[本文出自天外歸云的博客園] Locust的介紹 Locust是一個python的性能測試工具,你可以通過寫python腳本的方式來對web接口進行負載測試. Locust的安裝 首先你要安裝pyth ...

python locust 性能測試:locust安裝和一些參數介紹

安裝參考 https://www.cnblogs.com/fnng/p/6081798.html ps:python3.7暫不支持locust:python3安裝建 ...

python locust 性能測試:locust 關聯---提取返回數據并使用

from locust import HttpLocust, TaskSet, taskimport jsonfrom common import readConfig class UserBehav ...

python locust 性能測試:HttpSession

官網解釋:用于在請求之間執行Web請求和保留(會話)cookie的類(以便能夠登錄和退出網站):記錄每個請求,以便locust可以顯示統計信息: from locust import TaskSet, ...

python locust 性能測試:locust 參數化(list) ---循環取數據,數據可重復使用

from locust import TaskSet, task, HttpLocust class UserBehavior(TaskSet): def on_start(self): # 當模擬用 ...

python locust 性能測試:嵌套

TaskSet類和TaskSequence類可用于嵌套: from locust import TaskSet, tas ...

python locust 性能測試:locust參數-保證并發測試數據唯一性,循環取數據

from locust import TaskSet, task, HttpLocustimport queue class UserBehavior(TaskSet): @task def test ...

python locust 性能測試:locsut參數化-保證并發測試數據唯一性,不循環取數據

from locust import TaskSet, task, HttpLocustimport queue class UserBehavior(TaskSet): @task def test ...

Python locust性能測試框架模板

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

隨機推薦

oracle唯一索引與普通索引的區別和聯系以及using index用法

oracle唯一索引與普通索引的區別和聯系 區別:唯一索引unique index和一般索引normal index最大的差異是在索引列上增加一層唯一約束.添加唯一索引的數據列可以為空,但是只要尊在數 ...

系統不支持curl

解決安裝pinphp時出現的“系統不支持curl!” ? 今天在本機安裝phppin開源程序時,提示“系統不支持curl!”錯誤. 由于我本機是UBUNTU系統,所以直接通過apt-get進行安裝. ...

ES5嚴格模式(Strict mode)

嚴格模式(Strict mode)是由ECMA-262規范定義的新興JavaScript標準,第五版發布于2009年12月.旨在改善錯誤檢查功能并且標識可能不會延續到未來JavaScript版本的腳本 ...

在c++程序中執行DOS命令

轉自博客:http://blog.csdn.net/ypist/article/details/8485049 #1,system()方式 在C盤根目錄下新建文件夾,名稱為12: system(&qu ...

thinkPhp 3.1.3的驗證碼無法顯示的問題

Image幫助類的output方法中,在下面的代碼 header("Content-type: image/" . $type); 前增加代碼: ob_end_clean();

JavaScript 運行機制詳解:再談Event Loop

總結

以上是生活随笔為你收集整理的pythonlocust使用技巧_python locust 性能测试:HOOKS钩子方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。