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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
Windows系统下安装Python的SSH模块教程
Feb 05 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
python实现字符串加密成纯数字
Mar 19 Python
python的内存管理和垃圾回收机制详解
May 18 Python
Python类中方法getitem和getattr详解
Aug 30 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 Python
python实现层次聚类的方法
Nov 01 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
js 控制图片大小核心讲解
2013/10/09 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
JS实现li标签的删除
2019/04/12 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python封装对象实现时间效果
2020/04/23 Python
简单了解python模块概念
2018/01/11 Python
python异步Web框架sanic的实现
2020/04/27 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
春节晚会主持词
2014/03/24 职场文书
公司晚会策划方案
2014/05/17 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
mysql部分操作
2021/04/05 MySQL