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 11 Python
python多线程方式执行多个bat代码
Jun 07 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
python代理工具mitmproxy使用指南
Jul 04 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
PyCharm无法引用自身项目解决方式
Feb 12 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 Python
Python截图并保存的具体实例
Jan 14 Python
Django后端按照日期查询的方法教程
Feb 28 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脚本代码
2011/02/19 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
Chrome Web App开发小结
2014/09/04 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python 正则表达式操作指南
2009/05/04 Python
web.py获取上传文件名的正确方法
2014/08/26 Python
python实现拓扑排序的基本教程
2018/03/11 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
python ETL工具 pyetl
2020/06/07 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
食品安全承诺书
2014/05/22 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
推广普通话主题班会
2015/08/17 职场文书
使用Redis做预定库存缓存功能
2022/04/02 Redis