Python3实现简单的接口性能测试
2021/6/19 12:28:47
本文主要是介绍Python3实现简单的接口性能测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# -*- coding:utf-8 -*- import requests import datetime import time import threading ''' allow_redirects = False禁止重定向,添加在request参数后 get请求用params传参 post请求,数据类型form,用data传参 post请求,数据类型form,用data传参 post请求,数据类型json,json传参 timeout:请求超时时间,添加在request参数后 nub = 10#设置并发线程数 ResponseTime=float(result.elapsed.microseconds)/1000 #获取响应时间,单位ms ThinkTime = 0.5#设置思考时间 AverageTime = "{:.3f}".format(float(sum(myrequest.times))/float(len(myrequest.times)))#计算数组的平均值,保留3位小数 totaltime = float(hour)*60*60 + float(minute)*60 + float(second) #计算总的思考时间+请求时间 ''' class url_request: times = [] error = [] def weather_DC(self): myrequest=url_request() weatherinfo_search = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters' params = {'key': 'cd1b11e80ffac05253196aa2a1233f25', 'city': 110101, 'extensions': 'base', 'output': 'JSON'} result = requests.get(url=weatherinfo_search, params=params) print("状态码:",result.status_code) print("返回报文:",result.text) ResponseTime=float(result.elapsed.microseconds)/1000 myrequest.times.append(ResponseTime) if result.status_code !=200 : myrequest.error.append("0") if __name__=='__main__': myrequest=url_request() threads = [] starttime = datetime.datetime.now() print("请求开始时间:request start time %s" %starttime) nub = 10 ThinkTime = 0.5 for i in range(1, nub+1): t = threading.Thread(target=myrequest.weather_DC()) threads.append(t) for t in threads: time.sleep(ThinkTime) print("线程数:thread %s" %t) t.setDaemon(True) t.start() t.join() endtime = datetime.datetime.now() print("请求结束时间:request end time %s" %endtime) time.sleep(3) AverageTime = "{:.3f}".format(float(sum(myrequest.times))/float(len(myrequest.times))) print("平均响应时间:Average Response Time %s ms" %AverageTime) usetime = str(endtime - starttime) hour = usetime.split(':').pop(0) minute = usetime.split(':').pop(1) second = usetime.split(':').pop(2) totaltime = float(hour)*60*60 + float(minute)*60 + float(second) print("并发数:Concurrent processing %s" %nub) print("#总共消耗的时间:use total time %s s" %(totaltime-float(nub*ThinkTime))) print("错误请求数:fail request %s s" %myrequest.error.count("0"))
参考文章:https://www.cnblogs.com/clarke/p/5965778.html
这篇关于Python3实现简单的接口性能测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python