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()

运行结果
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值