LoadRunner关联函数的脚本实例--如何操作关联参数
LoadRunner关联函数的脚本实例--如何操作关联参数
这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究:
~f6p q+Z RM0
a6_%_+vF9Ws\w&S0
问题提出:如何对关联的数据进行字符串操作。下面使用了LoadRunner自带的订票例子为例,进行了这方面的试验。假设我要关联的数据是由几个字符串组成的。如何使这些字符串组成一个参数,供我后面的函数使用?51Testing软件测试网.VZR(`D"N
51Testing软件测试网J3p a9o8~ B
解决方法:使用多个关联函数,对关联参数进行字符串操作,最后把生成的字符串保存成一个参数,供下面调用该参数的函数使用。
m*OO6g_?4zN0
&\MQ0h*T B0
脚本如下:51Testing软件测试网 LN+tq-vY
Action()
v(Z.Z0v!{d!gc^K;oL0
{51Testing软件测试网h7GRAY%j
int number1,number2;51Testing软件测试网Zh8G9{)V/j
char session11[1000];
V&D7`\'r(gka0
char string[1000];51Testing软件测试网RO"Wc ]
int length;
8VUx3c7XE#c1?0
char *stringtemp;51Testing软件测试网}R'o~b(Y
//char session22[20];
5g%~#Wg;PG6S0
web_reg_save_param("session1","LB=name=userSession value=","RB=.","Ord=ALL",LAST);51Testing软件测试网 _cEE!{_h&k RNm
web_reg_save_param("session2","LB=.","RB=<table border=0><tr><td> </td>","Ord=ALL",LAST);51Testing软件测试网 D SSpU
51Testing软件测试网U$F8AO E`-a
8H(D1cM0x6iGC0
web_url("WebTours",
%?.q(sO K;L9~8S0
"URL=http://127.0.0.1:6080/WebTours/",51Testing软件测试网vWg!N z4ba
"Resource=0",51Testing软件测试网Xn.zL4l.M
"RecContentType=text/html",
z\Z5I:[0
"Referer=",
3dH(a#w"X xn6h0
"Snapshot=t1.inf",51Testing软件测试网VS ^j2D H1JcY
"Mode=HTML",51Testing软件测试网vPbm)@
LAST);51Testing软件测试网/uB*gc;]H \
.[,HrX3NUs p0
strcpy(string,"");
J}L%Q.DD!H-mo0
strcpy(string,lr_eval_string("{session1_1}"));
#J+DK)Xt"f0
51Testing软件测试网:]3e+U4A%@9k+[
//strcpy(session1,"");
"X!O{|/zE0
"OCXH&M[/c coxbq0
sprintf(session11,"{session2_1}");
9j1X(d!QA-vHj5s#Q0
strcat(string,".");
c[,F)_ e [6zEJ0
length= strlen(lr_eval_string(session11));
{$s,ea1w0
length=length-2;51Testing软件测试网Eb:Y].s{5y
:r2s4E&Ek t%\V0
number1=atoi(lr_eval_string("{session1_count}"));
T%]q erx~?&M0
number2=atoi(lr_eval_string("{session2_count}"));
8Kq2d-` O5ANf0
51Testing软件测试网9i~/V^6V E
lr_output_message("%d,%d",number1,number2);51Testing软件测试网j[ r?]o XCw
51Testing软件测试网&XC5]E nQ
//lr_output_message("%d",length);51Testing软件测试网O`6oO:rjK
stringtemp=lr_eval_string(session11);
B%zL!i;VQ za0
strncat(string,stringtemp,length);51Testing软件测试网G2MC-E'\'RD:j#tF
//srcat(string,session11);
#l}!o8BdZ;w0
51Testing软件测试网 M+G8e;_ce-Ad@(^@
lr_save_string(lr_eval_string(string),"session");
*r8L4vsm)Y!|0
g/RxI*n!h/G0t3P W0
lr_output_message("%s",lr_eval_string("{session1_1}"));51Testing软件测试网;]F8LY%LWT]7L&u
lr_output_message("%s",lr_eval_string("{session2_1}"));
(Y$D,XE^0
51Testing软件测试网MRvaA_x3L
web_submit_data("login.pl",51Testing软件测试网!h^[ W*M
"Action=http://127.0.0.1:6080/WebTours/login.pl",51Testing软件测试网}&\)b'NF ]qJA wB
"Method=POST",
"Referer=http://127.0.0.1:6080/WebTours/nav.pl?in=home",
'e)jl [B7i*M0
"RecContentType=text/html",
"Snapshot=t2.inf",
*m:?]Q(iC%fWT0
"Mode=HTML",51Testing软件测试网@_$?6tF
ITEMDATA,
$i IN{7p%C6} Q b,D0
"Name=userSession", "Value={session}", ENDITEM,
j1p5}&gv0
"Name=username", "Value=jojo", ENDITEM,
gy){#qWIe0
"Name=password", "Value=bean", ENDITEM,51Testing软件测试网Z4fYHwH%V;S
"Name=JSFormSubmit", "Value=on", ENDITEM,
iF(v8yQ0gGMw0
"Name=login.x", "Value=50", ENDITEM,
)| Uld,E2EX0
"Name=login.y", "Value=10", ENDITEM,
-|5rd I(y,Q6a5ti0
LAST);
y9["OB0?vci0
lr_output_message("%s",lr_eval_string("{session}"));51Testing软件测试网?l.C] N2z5K
$g ?5M|9i0
return 0;51Testing软件测试网R&U:aV"DS D8L.i
}51Testing软件测试网CTXO5g5?:F\
有两个关联的参数,session1和session2,最后生成session,被web_submit_data函数调用。蓝色部分是需要特别注意的地方。51Testing软件测试网0d g8_nc
脚本编写调试过程中遇到的问题和解释:51Testing软件测试网jA X'|8A#d|2V2z }1a
1. web_reg_save_param()中如果没有指定Ord=ALL的话,默认是取的第一个符合左右边界的值,这样我们使用关联的参数时可以直接使用变量名,如session1
6X N eC)T;TA0
2. web_reg_save_param()中如果指定Ord=ALL的话,会生成一个数组,这样想取某个参数的话,需要使用的参数名需要加_和数组中的位置,如例子中取第一个session1_1,如果这时候仍然用session1,是取不到参数的值的.
9{!DSu/h0
3. 顺序问题:对关联参数相关的操作,需要放到包含该关联数据的请求函数之后,如上紫色部分代码用到关联的参数的语句,都需要放到web_url()之后,否则也不会取到关联的数据
9] bw$Q m"D H t0
4.注意lr_eval_string()函数和lr_save_string()函数的用法..
LoadRunner关联函数的脚本实例--如何操作关联参数的更多相关文章
- loadrunner 编写socket脚本实例(附服务端实现)
一.socket背景知识 这个咱就不废话了,网上一搜一大堆 二.本实例实现的功能 服务端接收客户端发送的字符串,并返回"5678succ"共8个字符 三.服务端实现(java代码) ...
- Loadrunner手动编写包含事务、检查点、关联等元素的脚本实例
一.前言: 本文适合初学者,包含很多细节,包括 二.准备: 1.以虚拟机中的Linux系统作为服务器,开启bugfree服务. 2.以fiddler作为抓包工具,辅助脚本开发. 3.脚本流程:bugf ...
- LoadRunner脚本参数化之自动关联和手动关联
一.关联的意义 1.关联的含义 关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,以变量的 ...
- LoadRunner脚本实例来验证参数化的取值
LoadRunner脚本实例来验证参数化的取值 SINM {3]!G0问题提出: 主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d ...
- loadrunner 脚本开发-执行操作系统命令
脚本开发-执行操作系统命令 by:授客 QQ:1033553122 思路: 用loadrunner system()函数 函数原型: int system( const char *string ); ...
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
- LoadRunner系列之—-02 基于webservice协议的接口测试(脚本实例)
Loadrunner 基于webservice协议的接口压力测试(脚本实例) 接口功能如下:请求接口,报文只有一个参数为证件号码:返回报文中,有证件号码是否能查到对应数据,查到几条数据. 思路:请求w ...
- 【原创】LoadRunner Java Vuser脚本的配置和调试指南
1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...
- Loadrunner开发测试脚本
Loadrunner开发测试脚本 开发测试脚本可以通过录制,也可以手动开发,建议能录制的尽量录制,省时省力,不能录制的只能费力自己开发了,具体看项目情况来决定. 使用Loadrunner开发脚本过程中 ...
随机推荐
- asp.net中获取当前url的方法
HttpContext.Current.Request.Url.ToString() 并不可靠. 如果当前URL为 http://localhost/search.aspx?user=http://c ...
- ASM:《X86汇编语言-从实模式到保护模式》5-7章:汇编基础
第5-7章感觉是这一本书中比较奇怪的章节,可能是作者考虑到读者人群水平的差异,故意由浅入深地讲如何在屏幕上显示字符和使用mov,jmp指令等等,但是这样讲的东西有点重复,而且看了第六,第七章以后,感觉 ...
- Divide and conquer:Subset(POJ 3977)
子序列 题目大意:给定一串数字序列,要你从中挑一定个数的数字使这些数字和绝对值最小,求出最小组合数 题目的数字最多35个,一看就是要数字枚举了,但是如果直接枚举,复杂度就是O(2^35)了,显然行不通 ...
- js计算在线时长
后台传来毫秒,前台转换成对应的时分秒 //在线时长 function longTime(seconds){ //总秒数 //seconds=seconds/1000; //得到小时 var hour ...
- 【leetcode】Isomorphic Strings(easy)
Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...
- pycharm远程上传文件到Linux
配置远程SFTP 1. 在PyCharm中打开SFTP配置面板,路径为Tools => Deployment => Configuration: 2. 配置Connection参数设置,填 ...
- 使用按钮控制HTML5背景音乐开关
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...
- 模拟赛1031d1
NP(np)Time Limit:1000ms Memory Limit:64MB题目描述LYK 喜欢研究一些比较困难的问题,比如 np 问题.这次它又遇到一个棘手的 np 问题.问题是这个样子的:有 ...
- JUnit笔记
- Linux 下根据进程名kill进程
脚本方式实现: #!/bin/sh #根据进程名杀死进程 if [ $# -lt 1 ] then echo "缺少参数:procedure_name" exit 1 fi PRO ...