网站用户登录过程中的cookie的作用

测试一个学习平台项目时,需要验证用户账号是否可以正常登录。使用jmeter工具测试,fiddler辅助查看请求和响应消息。

开始的想法很简单,在登录页面查看到,点击登录按键会出发一个POST请求,想通过jmeter模拟post请求,以用户名和密码为参数,测试是否能返回登录后的界面。

客户端浏览器                服务器

发POST请求————>

                    <————回登录响应

 

 

jmeter添加HTTP请求,配置服务器地址、路径、用户名密码参数,设置post方式:

请求结果失败,查看消息显示,浏览器不停的在登录页面链接和登录请求链接间重定向:

想到可能是session参数没有加对,因为打开登录页时,服务器返回的set-cookie中带了PHPSESSID的值,

等到发送post请求登录时,请求头中带的cookie参数中有PHPSESSID等之前set-cookie的值。

 

我复制浏览器登录时,请求头中的cookie值,在jmeter中设置header参数,后能够正常登录一次。但是如果更换用户,或者浏览器退出登录,jmeter中设置的cookie参数PHPSESSID等就失效了。还是会登录失败。

这样无法进行批量的账号登录测试。当然jmeter提供了响应的功能,不必每次手动配置cookie,只需要添加一个HTTP cookie manager就行了。

我在测试线程中增加一个打开登录页面的HTTP请求,然后在执行login请求,这个过程与学员实际操作一致。最终测试结果也与人工测试结果一致。

消息交互流程如下:

  用户                      |             客户端浏览器                 服务器

                               |

 打开登录页            |             发GET请求  ————>

                               |                                                   回登录页响应的同时,

                               |                                 <————  在返回的set-cookie参数,带PHPSESSID

填写用户名密码      |            发POST请求

并点击登录按键      |            同时请求头cookie

                                            参数中带之前

                                            收到的PHPSESSID——>

 

                                                                                    返回302重定向到登录后地址,

                                                                 <————   在返回的set-cookie参数中带token等

                                            发请求打开

                                            302重定向提供的地址

                                            同时请求头cookie中

                                            参数中带之前

                                            PHPSESSID、token等——>

                                                                   <————  最终返回登录后的学习列表页面

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值