Python+threading模块对单个接口进行并发测试


Posted in Python onJune 25, 2019

本文实例为大家分享了Python threading模块对单个接口进行并发测试的具体代码,供大家参考,具体内容如下

本文知识点

通过在threading.Thread继承类中重写run()方法实现定制输出结果

代码如下

import requests
import threading
import sys, io
# 解决console显示乱码的编码问题
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

class Mythread(threading.Thread):
 """This class customizes the output thu overriding the run() method"""
 def __init__(self, obj):
 super(Mythread, self).__init__()
 self.obj = obj

 def run(self):
 ret = self.obj.test_search_tags_movie()
 print('result--%s:\n%s' % (self.getName(), ret))
 

class Douban(object):
 """A class containing interface test method of Douban object"""
 def __init__(self):
 self.host = 'movie.douban.com'
 self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0',
 'Referer':'https://movie.douban.com/',
 }

 def get_response(self, url, data):
 resp = requests.post(url=url, data=data, headers=self.headers).content.decode('utf-8')
 return resp

 def test_search_tags_movie(self):
 method = 'search_tags'
 url = 'https://%s/j/%s' % (self.host, method)
 post_data = {
  'type':'movie',
  'source':'index'
 }
 resp = self.get_response(url=url, data=post_data)
 return resp
 
if __name__ == '__main__':
 douban = Douban()
 thds = []
 for i in range(9):
 thd = Mythread(douban)
 thd.start()
 thds.append(thd)

 for thd in thds:
 thd.join()

运行结果

Python+threading模块对单个接口进行并发测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 Python
不可错过的十本Python好书
Jul 06 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
详解Python字典的操作
Mar 04 Python
对pyqt5中QTabWidget的相关操作详解
Jun 21 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
python绘制封闭多边形教程
Feb 18 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 Python
python简单鼠标自动点击某区域的实例
Jun 25 #Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 #Python
python命令行参数用法实例分析
Jun 25 #Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 #Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 #Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 #Python
在Pandas中处理NaN值的方法
Jun 25 #Python
You might like
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
javascript 函数调用规则
2009/08/26 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
python中from module import * 的一个坑
2014/07/20 Python
Python中使用PDB库调试程序
2015/04/05 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Django中的forms组件实例详解
2018/11/08 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
物流经理自我评价
2013/09/23 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
活动总结书
2014/05/08 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
地心历险记观后感
2015/06/15 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
mysql查看表结构的三种方法总结
2022/07/07 MySQL