Python+threading模块对单个接口进行并发测试

时间: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邮箱联系删除。

相关文章