LoadRunner 技巧之自动关联

简介:

这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦。

  关联的原理:

  先来模拟一个场景,我去坐火车,坐火车要先检票,检票员核对火车票的时间、班次等信息正确后允许我坐火车。

  过了几天,我又拿着一张票去坐火车,检票员再一次核对火车票信息,发现这张票过期了,肯定不让我坐了。那我怎么才能坐火车呢?我先看看旁边那哥们的火车票上的信息,然后把自己的查票涂改成和他一模一样再去坐火车。

  在我们录制测试脚本时也经常会遇到这样的情况:录制的时候,服务器会给一个唯一的认证码来进行操作,当再次回放脚本的时候服务器又会给一个全新的认证码,而脚本录制是死的,还是拿老的认证码提交,从而导致脚本执行时失败。

  下面详细来分析一下录制与回放的过程

  录制过程:

  1、输入用户名密码登录

  2、服务器端返回一个sesiionID@@@12345

  3、客户端拿着获得sesiionID@@@12345进一步请求服务器信息。

  4、服务器返回客户端想要的信息

  回放过程:

  1、输入用户名密码登录

  2、客户端返回新的sesiionID@@@23456

  3、因为脚本中的sesiionID@@@12345 是写死的,所以我们会依然拿着老的sesiionID@@@12345去向服务器请求信息

  4、服务器你经过验证发现你的sesiionID@@@12345 是错误的。

  为了确保脚本回放的成功,我们需要获得服务器每次返回的动态的sesiionID,再将这个动态数据发回给服务器。而关联能够帮助我们将服务器返回的数据进行处理并保存为参数。

  OK!通过上面的分析,我们大概明白的关联的原理,下面要解决的问题就是如何设置关联。关联的三种方法:

  ● 自动关联

  ● 手动关联

  ● 一边录制一边关联

 自动关联

  在录制脚本之后打开recording Options 窗口,点击correlation标签页。确保Enable correlation during recording 选项处于勾选状态。

  在LoadRunner 自带WebTours为例设置关联,

  访问WebTours首页,点击administration 链接,设置 Set LOGIN form's action tag to an error page.勾选更新。

  录制WebTours登录与退出脚本:

Action()
{

    web_url("WebTours", 
        "URL=http://127.0.0.1:2080/WebTours/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);

    web_url("favicon.ico", 
        "URL=http://127.0.0.1:2080/favicon.ico", 
        "Resource=1", 
        "Referer=", 
        LAST);

    web_submit_data("login.pl", 
        "Action=http://127.0.0.1:2080/WebTours/login.pl", 
        "Method=POST", 
        "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        LAST);

    web_submit_data("login.pl_2", 
        "Action=http://127.0.0.1:2080/WebTours/login.pl", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        "Name=login.x", "Value=52", ENDITEM, 
        "Name=login.y", "Value=1", ENDITEM, 
        LAST);

    web_image("SignOff Button", 
        "Alt=SignOff Button", 
        "Snapshot=t3.inf", 
        LAST);

    return 0;
}




 回放脚本出错:

Action.c(47): Error -27987: Requested image not found      [MsgId: MERR-27987] Action.c(47): web_image("SignOff Button") highest severity level was "ERROR", 0 body bytes, 0 header bytes      [MsgId: MMSG-26388]

  选择菜单栏Vuser ---> Scan Script for Correlations (快捷键ctrl + F8 )弹出下面窗口

  扫描相关性可能需要几分钟,你想继续么? 当然,点击“YES”

  选中需要关联的内容,点击“ remove Correlation ”








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
27天前
|
关系型数据库 MySQL 测试技术
ChaosBlade常见问题之页面没有机器列表权限不能执行故障注入如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
21 1
|
XML SQL 前端开发
loadrunner 脚本优化-关联设置
loadrunner 脚本优化-关联设置
163 0
|
SQL 关系型数据库 MySQL
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
68 0
|
SQL Cloud Native 分布式数据库
用户指南—诊断与优化—实例会话
PolarDB-X支持查看实例的会话及其统计信息。当您的实例突然出现CPU飙升、活跃会话升高或响应时间飙升的告警时,PolarDB-X提供10秒SQL分析的功能帮助您对10秒内的实时SQL进行分析。
用户指南—诊断与优化—实例会话
|
数据采集 存储 测试技术
python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)
在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者,每次请求接口前如果都需要先去登录一次,这样不仅效率低,还耗费资源。 有些网站是使用cookie辨别用户身份的,此时我们便可以先登录一次,拿到登录成功后的cookie,后续请求时在请求头中加入该cookie,便可保持登录状态直接请求。
python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)
|
JavaScript
【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )(一)
【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )(一)
317 0
【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )(一)
|
数据管理 Devops 测试技术
DevOps之自动化测试
提高测试效率的首选项
1640 0
DevOps之自动化测试
如何取消用户信息授权和第三方应用授权以及代扣授权
说明:   1、用户信息授权和第三方应用授权以及代扣的取消只能是授权方主动取消,被授权的商户是无法取消用户的授权的。   2、支付宝钱包中只能取消用户信息授权和代扣授权,第三方应用授权只能在支付宝官方网站取消 一、使用支付宝钱包取消授权   1、使用支付宝APP取消用户信息授权,操作步骤如下:  ...
1809 0
|
网络协议 Linux 开发工具
OSS 上传出现异常
OSSBrower "no space left on" 分析: 有明显报错信息的先 Google 一下,看看是操作系统错误还是 OSSBrower 抛出,经过鉴定错误是 Linux 系统底层返回,说明当时系统的 OSSBrower 所在的目录磁盘满了,开源的错误到处可以看到,自行解决即可。
6816 0

热门文章

最新文章