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使用simplejson模块解析JSON的方法
Mar 24 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
Python 高级专用类方法的实例详解
Sep 11 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
Python使用字典的嵌套功能详解
Feb 27 Python
python中for循环变量作用域及用法详解
Nov 05 Python
Python统计时间内的并发数代码实例
Dec 28 Python
哪些是python中web开发框架
Jun 17 Python
使用Keras训练好的.h5模型来测试一个实例
Jul 06 Python
如何基于python把文字图片写入word文档
Jul 31 Python
深入分析python 排序
Aug 24 Python
python 提高开发效率的5个小技巧
Oct 19 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
php结合ACCESS的跨库查询功能
2015/06/12 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
python用户管理系统
2018/03/13 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
Python self用法详解
2020/11/28 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript