时间:2021-05-22
本文实例为大家分享了Python threading模块对单个接口进行并发测试的具体代码,供大家参考,具体内容如下
本文知识点
通过在threading.Thread继承类中重写run()方法实现定制输出结果
代码如下
import requestsimport threadingimport 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()运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对threa
python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对threa
在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更
简介Python通过_thread和threading模块提供了对多线程的支持,threading模块兼具了_thread模块的现有功能,又扩展了一些新的功能,
测试系统中有一项记录ssh登录日志,需要对此进行并发压力测试。于是用多线程进行python并发记录因为需要安装的一些依赖和模块比较麻烦,脚本完成后再用pyins