美文网首页Loadrunner学习
LoadrunnerStudy_关联

LoadrunnerStudy_关联

作者: 蚂蚁_0043 | 来源:发表于2019-06-02 21:29 被阅读0次

      为什么需要关联呢,书上说的是,当客户端向服务器发起请求时,服务器会验证。验证通过后返回一个Session ID,该Session ID对本次会话期间所有访问生效,后续客户端的请求只要带上这个Session ID就会被认为是合法的请求。但是一旦会话结束,客户端再次向服务器发起新的请求时,服务器将会重新判断是否为合法用户,如果是合法用户,则会分配一个新的Session ID给到当前客户端。而使用录制的脚本回放时,仍然使用的是之前的Session ID,意思就是说,使用旧的Session ID去访问新的页面,服务器必然会拒绝。解决这个问题采用的方式就是关联了。

关联的三个特征:

特征一:该数据一定是从服务器返回的值

特征二:改数据一定是在后面的请求中要被调用的

特征三:改数据必须是动态变化的

两种关联方式:

自动关联

在录制选项中选择Correlations->Configuration,脚本录制期间会自动扫描需要关联的字段,并在脚本停止录制以后弹出对话框确认关联参数。

手动关联

如图所示,在回放登录页面的时候会发现有报错信息,初步猜测是和Session有关系,下面我们就开始去试试通过关联能不能解决该问题。

步骤一:在脚本中找到以下代码段

找到该值以后只是推测,是不是还需要进一步去确认,在Output->Code generation窗体下找到该值,并确保他第一次出现地方是在Response请求中。

找到第一次出现的位置后,如果是在Response中出现(上图中标红查看),且同时也会在Request中出现,name基本上就可以肯定是我们需要去关联的对象。

【特别说明】:一般需要关联的字段并非是纯数字或者字母有意义的组合,而是不太能理解的随机数

步骤二

确定关联对象后,需要记住在Code generation中第一次出现位置的左右边界,然后调用web_reg_save_param函数实现关联中变量的替换。

在我们找到的Session值上,单击鼠标右键Insert->New Step,在Steps Toolbox中输入web_reg_save_param,双击后弹出Save Data to a Parameter

Save Data to a Parameter

单击确定按钮后,会生成以下脚本

生成的脚本

因在左右边界的数据中出现了""(双引号),必须使用转义字符 "\" 才能生效,所以对以上脚本进行微调,最终结果如下

最终脚本

步骤三

下面将原有的Session value改成参数形式,这样系统每一次运行都会重新捕获数据到参数中,变量值的替换也就实现了

再次运行脚本,在Snapshot->Replay(Page View)中查看,运行OK

注:在运行过程中出现了 Error -27257 错误,引起这个问题的原因是因为没有将关联函数放在响应前面。

【特别说明】:关联的脚本除了web_reg_save_param,还包括以下四个

web_reg_save_param_regexp:正则表达式关联

web_reg_save_param_ex:扩展关联

web_reg_save_param_jesion:JS关联

web_reg_save_param_xpath:路径关联

最常用的主要是web_reg_save_param和web_reg_save_param_regexp,正则的用法主要是针对取值边长是动态生成的,使用该函数关联如下

关联返回的内容在正则表达式中需要用()标记。

【补充说明】;如果脚本过于复杂,无法确定需要关联的地方。可以重新录制一次脚本,对比两次脚本不一样之处,这样操作也可以发现动态数据。操作如下:

在解决方案管理器上单击右键,在弹出菜单中选择点击 Compare to External File 选择要对比的文件

要对比的文件被保存在以下路径

相关文章

  • LoadrunnerStudy_关联

    为什么需要关联呢,书上说的是,当客户端向服务器发起请求时,服务器会验证。验证通过后返回一个Session I...

  • LoadrunnerStudy_数据监控

    一、Windows指标监控 场景设置成功后,除了Controller自带的常规监控外,我们需要增加对当前系统的监控...

  • LoadrunnerStudy_参数化

    主要的背景就是想学习一下Loadrunner,之后买了一本书,就每天按着书上面去动手操作,想到做笔记的时候,就已...

  • LoadrunnerStudy_事务+检查点

    一、Loadrunner中事务 LR度量的是客户端发送请求到服务器响应处理并返回的时间,看上去和响应时间没有差异,...

  • LoadrunnerStudy_联机负载和IP欺骗

    一、联机负载 如果你的电脑上面安装了全套的LR,那么Load Generators默认已安装启动,在电脑右下角会有...

  • LoadrunnerStudy_集合点+思考时间

    在 VuGen 中的脚本录制最终是为了实现并发,集合点就是并发的一种手段。他的运用场景,例如在一个系统中,500个...

  • 关联 不关联

    烟雨朦胧里 横生而发的一缕思绪 是否停驻在朦胧斑驳的一处 询问 那一日 这一日的光景 你可曾望见 世俗里 有顽固的...

  • Runtime 关联对象, 可在分类中添加属性

    Runtime 关联对象, 可在分类中添加属性 关联 API 如下 设置关联值 获取关联值 取消关联 关联策略

  • iOS~关联类型、关联值、关联对象

    1、Associated Type (关联类型) Practical Protocols with Associa...

  • 关联的关联472

    刚刚读到一个观点,关联是进步的天梯。于是我忍不住也想通过这个观点再向外关联思考。关联,如果是自己所理解的那样的话,...

网友评论

    本文标题:LoadrunnerStudy_关联

    本文链接:https://www.haomeiwen.com/subject/vhatxctx.html