第一章 使用背景
题主为某供应链金融公司的测试人员,系统有额度开单、链单转让、链单融资功能,这些功能点在用户串行请求情况下均不会出现金额溢出(如额度 < 所有使用该额度开出的链单金额总和)。目前的测试需求是,测试用户并发情况下,是否出现金额溢出。
python的requests模块只能实现用户串行请求,那么有没有满足我的测试需求的第三方模块呢?
在网络上搜索一番,的确已有,就是grequests模块!传为K神(Kenneth Reitz)所作,结合requests、gevent模块实现,Python友対之赞誉有加。
第二章 小试牛刀
2.1 了解功法
使用python命令pip install grequests安装:
pip install grequests
查看已安装的grequests模块:
Name: grequests
Version: 0.6.0
Summary: Requests + Gevent
Home-page: https://github.com/kennethreitz/grequests
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: BSD
Location: d:\python3\lib\site-packages
Requires: gevent, requests
Required-by:
根据已经尝鲜的朋友介绍,我要解决的测试需求需要用到grequests.request、grequests.map方法,当然grequests也提供grequests.get、grequests.post等,大家可根据喜好使用。
使用前,先使用help查看这2个函数的内功心法。可以得知,grequests.request和requests.request的修炼功法完全一致,而且是异步的,请看:
Help on function request in module grequests:
request(method, url, **kwargs)