loadrunner虚拟用户脚本开发(一)

一、loadrunner虚拟用户开发---变量详细解析

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网络空间、营销软件、网站建设、富锦网站维护、网站推广。

 

变量的定义

局部变量和全局变量

1、在init  action end中定义的变量就是局部变量

2、在gloabal中定义的变量是全局变量

3、什么时候定义全局变量?

整个过程中固定不变的,例如url地址,KEY 其他,需要定义成全局变量。

 

简单例子:

loadrunner虚拟用户脚本开发(一)

在action里,定义一个变量a,赋值10,然后打印a,可以看到结果打印出10.

可以看出,在LR中打印的时候,只需要用LR的函数lr_output_message就可以了,C语言的函数printf没起作用。

 

在C语言里,可以使用到变量时再定义变量,但是在LR里,需要在开始定义完,不可以在中间定义。

在vuser_init \vuser_action\ vuser_ end函数内部定义的变量是局部变量,只能在该函数内部使用。

例如,在action中定义了变量,vuser_end中打印变量a,则编译的时候出现报错,找不到定义的 a。

loadrunner虚拟用户脚本开发(一)

想要定义全局变量,需要在函数globals.h里。

以下在globals.h定义变量p,然后在init和end里调用变量,用来获取内存,回放结果是正常的。

 loadrunner虚拟用户脚本开发(一)

loadrunner虚拟用户脚本开发(一)

loadrunner虚拟用户脚本开发(一)

二、 LR虚拟用户脚本开发--常用语法和使用误区

 

1、指针的用法

以下是脚本例子以及释义:

loadrunner虚拟用户脚本开发(一)

 

运行结果如下,结果打印出A和loadrunner

 loadrunner虚拟用户脚本开发(一)

2、数组的用法

 

例子1:

loadrunner虚拟用户脚本开发(一)

打印结果中,为什么p=ABCDELoadrunner!!!,而不是p=ABCDE?这是因为在LR或者C语言中,以字符串的形式打印出一个指针,到什么时候结束呢,是到遇到\0的时候,,这是C语言的语法。P的结果打印从A开始,然后到E后,继续打印Loadrunner!!!,在C语言中,字符串后边会有默认的\0,所以打印完字符串Loadrunner!!!就结束了。

 

例子2:

loadrunner虚拟用户脚本开发(一)

 

查看以上统计字符串长度的例子。针对字符串“Loadrunner!!!”,为什么sizeof拿到的长度是14,strlen拿到的是13?因为sizeof统计了默认的\0,而strlen没有。

 

例子3:

loadrunner虚拟用户脚本开发(一)

这里的输出结果为什么是abcdea,而不是abcde呢?因为数组定义的长度是5,而字符串abcde后边有默认的\0的,加上这个就是长度为6了,超长了所以\0被丢弃,打印完abcde后就继续打印了a。

 

例子4:

如果把数组长度改成了6,那么输出结果就是abcde了

loadrunner虚拟用户脚本开发(一)

 

需要注意的:

1)注意中文的分号;

2)变量使用前尽量初始化;

3)字符数组尽量少用;

4)在使用数组的时候,一定要保证数组足够长


分享标题:loadrunner虚拟用户脚本开发(一)
本文地址:http://myzitong.com/article/gecgpe.html