错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】

错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【状态码302,请登录】

  • 一、以飞机订票系统【webtours】的登录功能为例
    • 【成功标志】
    • 【问题描述】
    • 【分析原因】
    • 【解决办法】
  • 二、以【悟空crm】系统的【进入首页、登录、退出】功能为例
    • 【成功标志】
    • 【问题描述】
    • 【分析原因】
    • 【解决办法】

一、以飞机订票系统【webtours】的登录功能为例

【成功标志】

运行成功后查看结果树,login接口的HTML网页界面应提示:【Welcone,用户名,to the Web Tours reservation pages.】

【问题描述】

使用jmeter工具录制脚本,保存运行之后查看结果树,发现运行成功,查看结果树login接口的HTML网页界面:无欢迎用户名进入字样,即登陆失败
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第1张图片

【分析原因】

在请求中会有类似于认证信息的字段,每个用户、每个时间段等等产生的字段都不一致,如果完全按照录制脚本时的数据的话会导致一些认证过期,回放无法成功的问题,这时候需要做个标记,让jmeter理解这部分的内容不从录制好的脚本中获取,需要重新从网页中获取。

【解决办法】

(1)在带参数的login接口中找到参数【userSession】,确认每次登录该参数都会发生变化
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第2张图片

(2)运行后在结果树中搜索这个参数【userSession】
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第3张图片

(3)在上图查到参数【userSession】的接口下新增一个正则表达式提取器,如图所示设置
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第4张图片
(4)编辑带参数的login接口中的参数【userSession】的值为刚刚定义的正则表达式的引用名称
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第5张图片
(5)保存,运行,查看结果树,出现登陆成功界面
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第6张图片

  • 注:此方法仅适用于使用工具【badboy】录制的jmeter脚本,当使用工具【jmeter】录制同样的登录脚本并进行同样操作时,登录仍然是不成功状态,原因暂时未知。

二、以【悟空crm】系统的【进入首页、登录、退出】功能为例

【成功标志】

运行成功后查看结果树,无异常提示

【问题描述】

运行成功后查看结果树,报状态码302,即网页已经重定项
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第7张图片

【分析原因】

同上

【解决办法】

(1)在带报状态码302的接口中找到参数【Admin-Token】,确认每次登录该参数都会发生变化
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第8张图片
(2)运行后在结果树中搜索这个参数【Admin-Token】,复制参数及值
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第9张图片

(3)在搜索到参数【Admin-Token】的接口,即图示【/login-15】接口下添加一个正则表达式提取器,粘入刚刚复制的参数和值,将值替换为【(.?)】*
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第10张图片
(4)在接口下找到内容最全的【HTTP信息头管理器】,找到参数【Admin-Token】,将其值替换为刚刚设置的正则表达式名称
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第11张图片

错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第12张图片

(5)将设置好的【HTTP信息头管理器】放到整个线程组目录下,相当于作用为全局变量,同时将其他接口下的【HTTP信息头管理器】都删除
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第13张图片

(6)再次运行,查看结果树,不再报302
错误解决——使用jmeter录制登录脚本,可以运行,但登录失败,提示【no cookies】,或【{“code“:302,“msg“:“请先登录!“}】_第14张图片

你可能感兴趣的:(一些遇到过的错误,Jmeter,jmeter)