python实现多线程接口url压力请求测试带日志输出代码

代码语言:python

所属分类:其他

代码描述:python实现多线程接口url压力请求测试带日志输出代码,设置url接口地址,和线程数即可进行api接口压力测试,该页面需要接口输出json,并且有一个code和data字段。

代码标签: python 多线程 接口 url 压力 请求 测试 日志 输出

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*

import json
import requests
import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

restime = []
OK=[]
class Interface_pressure_test():
    def API(self,URL2,param):
        try:
            r = requests.get(URL2, params=param, timeout=10)
            r.raise_for_status()  # 如果响应状态码不是 200,就主动抛出异常
        except requests.RequestException as e:
            print(e)
        else:
            js = json.dumps(r.json())
            return [r.json(), r.elapsed.total_seconds(),js]

    def circulation(self,num,URL2,param):
        for i in range(int(num)):
            restime.append(Interface_pressure_test.API(URL2,param)[1])
            if json.loads(Interface_pressure_test.API(URL2, param)[2])["code"]=='200':
                OK.append(json.loads(Interface_pressure_test.API(URL2, param)[2])["data"])
                logger.info('请求第' + str(i+1) + '次,请求'+json.loads(Interface_pressure_test.API(URL2, param)[2])["data"]+',状态码:'+json.loads(Interface_pressure_test.API(URL2, p.........完整代码请登录后点击上方下载按钮下载查看

网友评论0