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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
浅谈Python类的__getitem__和__setitem__特殊方法
Dec 25 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
详解Python进程间通信之命名管道
Aug 28 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
Django 开发环境配置过程详解
Jul 18 Python
详解python中的数据类型和控制流
Aug 08 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
Python发送邮件的实例代码讲解
Oct 16 Python
在django中自定义字段Field详解
Dec 03 Python
python中数组和列表的简单实例
Mar 25 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
详解Python的Django框架中的中间件
2015/07/24 Python
Python max内置函数详细介绍
2016/11/17 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
举例讲解Python常用模块
2019/03/08 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python 公共方法汇总解析
2019/09/16 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
门卫岗位职责
2013/11/15 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
罚站检讨书
2015/01/29 职场文书
学生病假条范文
2015/08/17 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS