Python+threading模块对单个接口进行并发测试
作者:梦四十九剑
这篇文章主要为大家详细介绍了Python+threading模块对单个接口进行并发测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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 threading和multiprocessing模块基本用法实例分析
- Python 多线程,threading模块,创建子线程的两种方式示例
- Python多线程模块Threading用法示例小结
- Python线程threading模块用法详解
- Python threading模块condition原理及运行流程详解
- Python 多线程之threading 模块的使用
- Python多线程编程之threading模块详解
- python threading模块的使用指南
- Python常用模块之threading和Thread模块及线程通信