我做的是慕课网上的秒杀项目,内容和这个博客链接里的一样, https://blog.csdn.net/Brad_PiTt7/article/details/90646389#t1
但是,我在完全相同的代码和设置情况下,压测的结果既没有生成订单,也没有扣库存。 我用单个账号测试登录网页秒杀是完全没有问题的。
对了,压测的时候如果 http request 中的参数设置我不勾选上 url encode,就会报 Response code:Non HTTP response code:java.net.URISyntaxException Response message:Non HTTP response message:llegal character in query at index 89:
这个错误
我现在怀疑是压测的时候,没有给 cookie,所以跳到了 login 页面,但是教程视频以及别人的博客都是没有设置也能秒杀成功的。
找了两三天了还是不能发现问题在哪。。实在是太菜了,求助
1
Issacg OP 我看了 jmeter 里 respons data 确实是跳到了 login 页,说明它判断 user==null,可是我看 request 是有 token 值的,为什么还是判空呢
|
2
gefranks 2020-05-28 00:16:13 +08:00
被测系统有没有 csrf 保护?你抓下人工的 request 和 jmeter 发出的 request 比较下
|
3
gefranks 2020-05-28 00:18:35 +08:00
jmeter 带了个 cookie 管理器吧...不传 cookie 怕是不行的
|
5
Issacg OP @gefranks 就是差了个 cookie,所以判断是未登录,虽然我是按照视频中把用户的 id 用 token 传进去了,但是被读成参数里,而不是读成 cookie
|
7
gefranks 2020-05-28 01:11:32 +08:00
@Issacg 您怕是得加个 cookie manager 进去, 我看我以前的项目都加了个这个,你要是没 cookie 的话,服务器就认为你这是没登录用户的请求
|
8
Issacg OP @gefranks 我昨晚用了 cookie manager 传了 cookie,也看到 request 里有相应的 cookie 值了,但还是跳转到登录页面了(捂脸)
|
9
gefranks 2020-05-28 10:02:57 +08:00 via iPhone
@Issacg fiddler 抓下请求 看登陆时候手动操作和 jmeter 发的请求到底有什么不同 我自己是碰到过 csrf 的问题
|