最近对网站进行压力测试,然后搜到了WeTest这个平台,然后个人认证还有免费的VUM赠送(对于我来说够用了)
但是在使用的过程中,发现网上还没有多少教程,过程中自己也遇到了很多坑,最后才能完成测试,下面就稍微介绍一下一些使用和坑
并发设置
由于是想要测试网站,所以选择URL测试,下面可以设置并发,需要注意的是消费的VUM,一开始看设置是否正确可以将起始人数和最大人数都设置成1,一次只用消耗一个VUM
客户端请求
GET方式就不说了
如果是POST方式
需要注意以下几点:
以及四种方式的区别
然后遇到的坑是:
在python里面,我是直接通过下面的方式进行数据传递的
# -*- coding:utf-8 -*-
import requests
import json
url = 'http://xxxxx/search_post/'
headers = {'Content-Type': 'application/json'}
d = {'query': 'hand', 'year': [], 'authors': [], 'conf': [], 'index': 1, 'sort': 2}
r = requests.post(url, headers = headers, data=json.dumps(d))
然后,flask是这样接收的
if request.method == 'POST':
data = request.get_json()
query = data['query']
我又不想填form,所以在上面提到的四中方式中,选择使用raw(纯文本)方式来传递json数据,这里就需要注意一点,raw里面是纯文本形式,在raw里面用json.dumps(xxx)
,最后flask接收到的是"json.dumps(xxx)"
,还是一个字符串
因此,此时需要在代码里将str类型数据转成json
data = request.data
data2 = json.loads(data)
然后这里有一个坑,是关于json的,可以看下面代码图片
可以看StackOverflow上的一个解释
JSON syntax is not Python syntax. JSON requires double quotes for its strings.
总结
顺带提一句,这个平台是真的难用,根据它上面说的服务器监控配置就配不通,然后客服不仅没人,还恶心
一开始是在知乎上看到员工打广告然后准备开始用
并且,本来我是没有太多接触过前端的,然后看他的文档到现在我都没弄懂form-data的使用方法(如果有会用的希望能指教一下,因为后续我想用到全局变量)
同时,官方的文档写得也是很辣鸡,国内的官方文档就没有几个写得详细的,也不多给几个例子,和我这几天学的matplolib的官方文档差太多了