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构建Hopfield网络的教程
Apr 14 Python
在Django中创建动态视图的教程
Jul 15 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
python获取url的返回信息方法
Dec 17 Python
python and or用法详解
Jun 26 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
使用python爬取抖音视频列表信息
Jul 15 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python datetime时间格式的相互转换问题
Jun 11 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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 Cookie的使用教程详解
2013/06/03 PHP
实例讲解PHP表单处理
2019/02/15 PHP
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
ES6小技巧之代替lodash
2019/06/07 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python数据封装json格式数据
2018/03/04 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
django如何自己创建一个中间件
2019/07/24 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
pytorch SENet实现案例
2020/06/24 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
PHP经典面试题
2016/09/03 面试题
一封普通求职者的求职信
2013/11/20 职场文书
模具数控专业自荐信
2014/01/27 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
小学中秋节活动方案
2014/02/06 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
战马观后感
2015/06/08 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python