loadrunner关于回放脚本时session失效的问题

2023-10-31

在使用loadrunner录制脚本后,进行回放时,会出现session已经失效的情况,为解决这个问题,就应该将请求中的userSession进行参数化,使其自动获得当前的userSession,具体脚本如下:
在我们打开连接时,首先我们会向服务器发出一个访问的请求,服务器会返回我们所请求的页面,在返回的响应中,就包含了此次回话的userSession,
如图所示,我们这次会话的userSession就为133217.759335763zifcDiiptQfiDDDDtVVVtpDDAQHf
在这里插入图片描述

如此依赖,我们只需要将这串userSession拿到,再向服务器发送请求时,将这串userSession放在请求中,这样就不会出现session失效的情况了
这样的问题就是如何拿到这串userSession,我们可以用web_reg_save_param()函数,这个函数可以在返回的请求中查找到我们所需要的东西
web_reg_save_param(“usersession”,“LB=userSession” value=“”,“RB=”/>",LAST);
在这串代码中,usersession是我们给拿到的数据起的变量名,第二个参数LB和第三个参数RB分别是左边界和有右边界,这个函数可以返回LB与RB之间的数据,并将其赋值给usersession
在这里插入图片描述

当然,要注意使用转义字符
然后将登录脚本发送的请求中的对应的值替换成{usersession}就可以了
//打开连接脚本

open_index()
{
    web_reg_save_param("usersession","LB=userSession\" value=\"","RB=\"/>",LAST);
        
    web_url("welcome.pl", 
        "URL=http://127.0.0.1:1080/cgi-bin/welcome.pl?signOff=true", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:1080/WebTours/index.htm", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);

    return 0;
}

//登陆脚本

submit_login()
{
    lr_think_time(1);
    
    web_reg_find("Text=Welcome, <b>{username}</b>","saveCount=loginflag",LAST);
    
    web_submit_data("login.pl", 
        "Action=http://127.0.0.1:1080/cgi-bin/login.pl", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value={usersession}", ENDITEM, 
        "Name=username", "Value={username}", ENDITEM, 
        "Name=password", "Value=123", ENDITEM, 
        "Name=login.x", "Value=60", ENDITEM, 
        "Name=login.y", "Value=12", ENDITEM, 
        "Name=JSFormSubmit", "Value=off", ENDITEM, 
        LAST);
    
    if(atoi(lr_eval_string("{loginflag}"))>0){
        lr_output_message("登陆成功,%s",lr_eval_string("{username}"));
        return 0;
    }
    else{
        lr_output_message("登陆失败,%s",lr_eval_string("{username}"));
        return -1;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

loadrunner关于回放脚本时session失效的问题 的相关文章

  • windows环境变量 set使用

    windows环境变量 set使用 一 查看所有环境变量的名称和值 Linux下 export Windows下 set 二 根据名称查该环境变量的值 Linux下 echo 环境变量名 比如 echo ORACLE HOME Window

随机推荐

  • 图像识别平台建设之路(自建+三方产品)

    强烈推荐一个大神的人工智能的教程 http www captainai net zhanghan 前言 之前做过东南亚的相关业务 业务流程中需要进行身份证或人脸识别 在国内相关的基础设施比较完善 但是在东南亚相对设施不健全 针对真人识别 有
  • 中间件的安装和优化——开源软件诞生6

    赤龙ERP软件及中间件的安装和配置 第6篇 用日志记录 开源软件 的诞生 赤龙ERP开源地址 点亮星标 感谢支持 与开发者交流 kzca2000 码云 https gitee com redragon redragon erp GitHub
  • vue.js 全局组件学习笔记

    用法 注册或获取全局组件 注册组件 传入一个扩展过的构造器 Vue component my component Vue extend 注册组件 传入一个选项对象 自动调用 Vue extend Vue component my compo
  • windows 10安装elasticsearch-head-master

    目录 1 下载安装包 2 安装依赖 2 1 安装node 2 2 安装grunt 3 安装head 1 下载安装包 es环境是在这个链接安装的 CentOS7 9安装elasticsearch 8 3 1 kibana 8 3 1和wind
  • Altium Designer学习2:如何屏蔽原理图中部分电路,保留电路的同时且不导入PCB?

    Altium Designer学习2 如何屏蔽原理图中部分电路 保留电路的同时且不导入PCB 注 本文章是我在使用Altium Designer中的总结 任何人不得商用 如有侵权 请联系我删除 谢谢 打开想要屏蔽的原理图 然后place g
  • C++ MFC学习 基于对话框实现猜数字游戏

    界面的设计 1 为控件添加变量 右键添加变量即可 Tips 为STATIC TEXT添加变量时 需要更改ID 后缀 不能为STATIC 2 初始化 OnInitDialog 中创建随机数种子 srand unsigned time NULL
  • Shell 脚本中经典的13个面试题

    经典的Shell十三问 1 为何叫做shell 2 Shell prompt PS1 与Carriage Return CR 的关系 3 别人echo 你也echo 是问echo知多少 4 双引号 与 单引号 有什么区别 5 var val
  • 解决“warning #188-D enumerated type mixed with another type”告警

    今天分享一个之前我之前在嵌入式开发时候遇到的一个告警提示 首先我们看一下这个告警提示 warning 188 D enumerated type mixed with another type 其翻译过来是 警告 188 D枚举类型与其他类
  • C--小Why的商品归位-- 牛客小白月赛77

    输入 3 3 1 1 2 1 3 2 3 输出 2 解析 先不考虑购物车的容量 即购物车容量为无限大 这样我们可以通过每种货物上车 下车的时间计算出每一个时间点内 购物车中货物的数量 统计出所有时间点内 货物数量的最大值max 这个最大值所
  • 电商平台项目----项目搭建

    目录 项目介绍 其他配置 eslint 校验功能关闭 src文件简写方法 配置别名 项目路由分析 vue router 路由 路由组件 完成非路由组件 Header Footer 组件 步骤 配置less 路由组件的搭建 路由组件与非路由组
  • 关于微信小程序使用JavaScript求解背包问题

    背包问题求解 拟解决生活中常见的问题之一 背包问题 wxml wxss js 拟解决生活中常见的问题之一 背包问题 该问题要求在一个物品集合中选择合适的物品放入背包 在放入背包中的物品总重量不超过背包容量的前提下 希望放入背包的物品总价值最
  • 学scratch和机器人编程哪个好

    学scratch和机器人编程哪个好 小孩的学习一直都是家长们非常关心和重视的一件事情 很多的家长在培养孩子的学习方面也可以说是相当耐心的 会给孩子选择一些能够有利于孩子成长的课程 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 有的家
  • 电脑取消撤销快捷键是什么_电脑健盘中的所有英文组合意思超值解释建议收藏...

    电脑键盘上 所有英文键的意思 1 Esc 取消和退出键 2 Tab 表格键切换键 3 Caps Lock 字母大小写切换键 4 Shift 转换键 5 Ctrl 控制键 需要配合其他键或鼠标使用 例如复制CtrI C 6 Alt 可选 切换
  • 《Linux设备节点创建》用户空间ueventd创建设备节点规则

    转自 http blog csdn net tankai19880619 article details 11726371 说明 本文基于Android2 3和Linux2 6 其余版本仅供参考 一 devfs udev和sysfs是什么关
  • 补充对“Cannot determine link language for target”出现该问题的另外一种原因

    在上一篇的文章里面 我曾今讲解为什么会出现如下错误提示的原因 CMake Error CMake can not determine linker language for target xxxxx CMake Error Cannot d
  • Failed connect to 192.168.213.129:8080; No route to host

    在VMware虚拟机中运行tomcat 但是在主机访问虚拟机中的Tomcat的时候出现无法访问的情况 但是两者又能ping的通 在另一个虚拟机中用curl命令来运行的时候抛出如下异常 命令如下 curl XGET http 192 168
  • 为什么要坚持写博客?

    我是一个一直不喜欢做笔记的人 从小学开始一直到研究生 好记性不如烂笔头的话一直都深知其意 但是一直对它没能形成一个较为深刻的认识 感觉很耗时间 做笔记也总是找不到重点 好几次决定开始好好做笔记 记录自己的进步以及于自己有用的知识点 到头来
  • 大小堆以及TOP K问题

    完全二叉树 如上图所示 我们可以将完全二叉树的结点按照层序遍历的顺序储存在一个数组中 那么当完全二叉树中的某个结点位于array的i处时 其左子节点必位于2i 1处 i gt 0 其右结点必位于array的2i 2处 这样我们就可以轻易的实
  • 互联网摸鱼日报(2023-04-03)

    互联网摸鱼日报 2023 04 03 博客园新闻 华为为什么要守住 不造车 底线 蔚来李斌 蔚来手机将于三季度发布和交付 电商价格战 淘宝舞剑 意在何处 ChatGPT科研神器 论文翻译润色一键搞定 还能帮你读代码 一夜蹿红 又一款中国出海
  • loadrunner关于回放脚本时session失效的问题

    在使用loadrunner录制脚本后 进行回放时 会出现session已经失效的情况 为解决这个问题 就应该将请求中的userSession进行参数化 使其自动获得当前的userSession 具体脚本如下 在我们打开连接时 首先我们会向服