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 16 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
Python TestCase中的断言方法介绍
May 02 Python
详解python中*号的用法
Oct 21 Python
python新手学习使用库
Jun 11 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
详解Python openpyxl库的基本应用
Feb 26 Python
Django 如何实现文件上传下载
Apr 08 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的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
JSON 编辑器实现代码
2009/12/06 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python MD5加密实例详解
2017/08/02 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python实现自动化上线脚本的示例
2019/07/01 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python