利用python多线程模块实现模拟接口并发
import requests
import json
import threading
import time
import uuid
class postrequests():
def __init__(self):
# UUID模块:
# 产生UUID,生成唯一标识,uuid1:基于时间戳(由 MAC 地址(主机物理地址)、当前时间戳、随机数生成。可以保证全球范围内的唯一性:但 MAC 的使用同时带来安全性问题,局域网中可以使用 IP 来代替MAC)
# uuid.uuid2() -- 基于分布式计算环境DCE(Python中没有这个函数)
# uuid.uuid3(namespace, name) -- 基于名字的MD5散列值:通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,
# uuid.uuid4() -- 基于随机数:由伪随机数得到,有一定的重复概率,该概率可以计算出来
# uuid.uuid5() -- 基于名字的SHA-1散列值:算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法
# 首先,Python中没有基于 DCE 的,所以uuid2可以忽略;
# 其次,uuid4存在概率性重复,由无映射性,最好不用;
# 再次,若在Global的分布式计算环境下,最好用uuid1;
# 最后,若有名字的唯一性要求,最好用uuid3或uuid5。
u = uuid.uuid1()
# 产生订单编号
orderID = 'TEST' + u.hex
api_host='192.168.10.59:8763'
self.url = 'http://'+api_host+'/ms-fahuobao-json-view-temporary/FhbOrder/findFhbOrderAll?t=1542937095327'
self.headers = {'content-type': 'application/json',
'token':'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyLW5hbWUiOiIxNTAyMzYyMTk5OSIsInVzZXItcGFyYW0iOiJ7XCJ1c2VyU3lzdGVtXCI6W1wiZmhiTWFudFwiLFwic3RvcmVXZWJcIl0sXCJ1c2VyUGhvbmVcIjpcIjE1MDIzNjIxOTk5XCIsXCJwcm9qZWN0VHlwZVwiOlwiZmhiTWFudFwifSIsInVzZXItaWQiOiIxODIzNDYxYy04YTQwLTQ4MDYtOTUwNC0xZGI3ZjMzN2EwZmYiLCJpc3MiOiIxODIzNDYxYy04YTQwLTQ4MDYtOTUwNC0xZGI3ZjMzN2EwZmYiLCJ1c2VyLWNvZGUiOiIxNTAyMzYyMTk5OSIsImV4cCI6MTU0Mjk1MTE0MywiaWF0IjoxNTQyOTM2NzQzfQ.W3hd12C_d3h06WNVtctT_OD6B8g1qGivjv9m7fT-iis'}
def post(self):
try:
r = requests.request('get',self.url, headers=self.headers)
response=r.json()
orderNo=response['data'][0]['orderNo']
print(orderNo)
except Exception as e:
print(e)
def kquan_bf():
login = postrequests()
return login.post()
try:
i = 0
# 开启线程数目
tasks_number = 10
print('测试启动')
time1 = time.clock()
while i < tasks_number:
t = threading.Thread(target=kquan_bf)
t.start()
i += 1
time2 = time.clock()
times = time2 - time1
print(times / tasks_number)
except Exception as e:
print(e)
利用python多线程模块实现模拟接口并发的更多相关文章
- 利用Python多线程来测试并发漏洞
需求介绍 有时候想看看Web应用在代码或者数据库层有没有加锁,比如在一些支付.兑换类的场景,通过多线程并发访问的测试方式可以得到一个结论. 步骤 1. Burp Suite安装插件 安装一个Copy ...
- 用生动的案例一步步带你学会python多线程模块
鱼和熊掌不可兼得 鱼,我所欲也,熊掌,亦我所欲也,二者不可得兼,舍鱼而取熊掌者也. 从6月开始写公众号,连着四个月一直尽量保证一周五更,结果整天熬夜搞的身体素质骤降.十一休假决定暂时将公众号放放,好好 ...
- 利用python httplib模块 发送Post请求测试web服务是否正常起来!
最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...
- Python多线程模块
引言 thread threading 1 Thread 11 下面使用threading模块实现与上面相同的功能 12 在创建新线程时还可以给Thread传递可调用类的对象这样使用类本身来保存信息 ...
- Python + gevent模块对单个接口进行并发测试 1
本文知识点 利用gevent模块进行并发测试 代码如下 from gevent import monkey monkey.patch_all() import requests import geve ...
- Python多线程豆瓣影评API接口爬虫
爬虫库 使用简单的requests库,这是一个阻塞的库,速度比较慢. 解析使用XPATH表达式 总体采用类的形式 多线程 使用concurrent.future并发模块,建立线程池,把future对象 ...
- 利用Python与selenium自动化模拟登陆12306官网!
近年来,12306的反爬越来越来严重,从一年前的 获取tk参数后到现在增加了 JS.CSS等加密方式! 目前大部分人利用的登陆方式都是利用selenium ,此文也不例外. 环境: Wi ...
- [python]多线程模块thread与threading
Python通过两个标准库(thread, threading)提供了对多线程的支持 thread模块 import time import thread def runner(arg): for i ...
- 利用Python如何实现数据驱动的接口自动化测试
前言 大家在接口测试的过程中,很多时候会用到对CSV的读取操作,本文主要说明Python3对CSV的写入和读取.下面话不多说了,来一起看看详细的介绍吧. 1.需求 某API,GET方法,token,m ...
随机推荐
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:6.技术简介之Protobuf
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 protocolbuffer(以下简称Protobuf)是google 的一种数据交换的格式,它独立于语言,独立于平 ...
- python 实例方法,类方法,静态方法
实例方法 class Human(object): def __init__(self, weight): self.weight = weight def get_weight(self): ret ...
- wordpress中一些喜欢的主题
Personal lite Bhari Blogi
- java Vamei快速教程09 类数据和类方法
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们一直是为了产生对象而定义类(class)的.对象是具有功能的实体,而类是对象的 ...
- SOA体系-三大核心部件
1.ESB(Enterprise Service Bus)企业服务总线.ESB是传统中间件技术与XML.Web服务等技术结合的产物.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素.从 ...
- Java读取properties配置文件工具类
1. PropertyUtils.java package javax.utils; import java.io.InputStream; import java.util.Properties ...
- LuceneTest
/** * Created by mhm on 2019/6/24. */@RunWith(SpringJUnit4ClassRunner.class)public class LuceneTest ...
- 修改android studio中的avd sdk路径、avd sdk找不到的解决方案
要进行Android应用程序的开发,首先就要搭建好Android的开发环境,所需要的工具有如下4个:1.java JDK:2.Android SDK:3.Eclipse:4.ADT 1.java JD ...
- SpringBoot学习记录(一)
1. Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1. @Configuration 和 @Bean Spring的Java配置方式是 ...
- 模板引擎原理及underscore.js使用
为什么要使用模板引擎 DOM结构简单,完全可以使用DOM方法创建DOM树.$("<td></td").appendTo(); 当页面比较复杂的时候,下面的程序中红 ...