教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

Loadrunner系统知识(非常好)(6)

来源:网络收集 时间:2026-08-26
导读: // Now MyString1 contains \ // lr_output_message(\ // Copy MyString3 into MyString2 // lr_output_message(\ strcpy(MyString2,MyString3); lr_output_message(\ // Catenate MyString2 to MyString1 // strca

// Now MyString1 contains \ //

lr_output_message(\

// Copy MyString3 into MyString2 //

lr_output_message(\ strcpy(MyString2,MyString3);

lr_output_message(\

// Catenate MyString2 to MyString1 //

strcat(MyString1,MyString2);

lr_output_message(\

// Cstring is converted to integer Cint //

lr_output_message(\ Cint = atoi(Cstring);

lr_output_message(\

// Cint is converted to string Cint = 100;

itoa(Cint,Cstring,10);

lr_output_message(\

return 0; }

LoadRunner编程之文件的操作

这篇文章主要写下LoadRunner下如何进行文件的操作。 1,文件的声明

LoadRunner不支持FILE数据类型,所以在LoadRunner中用int来声明一个文件:

int MyFile;

2,文件的打开

fopen():返回一个FILE数据类型的指针.因为LoadRunner不支持FILE数据类型,所以返回值需要转化成int型. int MyFile;

MyFile=(int)fopen(\

26

fopen()函数的第一个参数是创建文件的路径.第二个参数指定了创建文件的模式.下面是常用的几种模式:

“w” - 写, 当需要往文件中写的时候. 如果文件存在,就覆盖该文件,如果文件不存在,根据第一个参数来创建新文件.

“r” – 读, 需要从文件中读的时候. 这个文件必须已经存在. “a” – 附加, 当往文件末尾添加数据时用到. “rw” – 读和写.

第一个参数中注意文件路径为\因为\在C语言中为转义字符.另外,如果文件和脚本在同一个目录中,文件的完整路径可以省略.

3, 读文件

fscanf():用来读文件。函数语法如下: int MyFile;

int LoanNumber;

MyFile = fopen(“C:\\\\temp\\\\loans.txt”,”r”); fscanf(MyFile,”%d”, &LoanNumber);

需要注意的是:MyFile是个文件指针(在LoadRunner中并不是真正的指针),被用来代替实际的文件。所有文件的操作都是使用文件指针而不是文件名称。 练习1:

先创建一个文件c:\\temp\\loans.txt,文件包含的内容为: 11111 22222 33333 44444 55555

循环读取并显示该文件中的每行数据,脚本如下: Actions() {

int MyFile;

int LoanNumber,i;

// Assigning the file path to a string char FileName[80] = \

// Opening the file

// Note the use of variable to replace the file path //

MyFile = (int)fopen(FileName,\

// Reading and printing one loan number at a time for(i=1;i<=5;i++) {

fscanf(MyFile,\

lr_output_message(\

27

}

fclose(MyFile);

return 0; }

当文件打开之后,文件指针在文件的最开始。每读一次,指针就移动到下一行,这就是为什么程序能自动读取下面元素的原因。

a) 如果把循环改为for(i=1;i<=7;i++),会出现什么样的结果呢?

会出现三个都是打印55555的结果,原因是文件指针移动到最后就不再移动了,但是有7次循环,那多出来的2次循环打印的数据仍然是最后一行的数据。

b) 如果不知道该文件下包含数据的行数, 就无法用for循环。需要使用while循环。可以使用feof函数。feof(MyFile)在文件指针没有到达返回文件末尾的时候返回0,如果到末尾返回非0值。这样可以修改程序的循环为: while(feof(MyFile)== 0);

注意:如果文件末尾有空行,feof也会把它最为文件的一部分。 4,写文件 fprintf():用来往文件写。语法如下: int MyFile;

char Name[] = “John Doe”;

MyFile = fopen(“C:\\\\temp\\\\loan.txt”,”w”); fscanf(MyFile,”%s”,Name);

第一个参数是文件指针,第二个参数是格式,第三个参数是指定格式对应的变量。 Actions() {

int MyFile;

char Name[] = \

MyFile = fopen(\

// note that \

fprintf(MyFile,\

// note that we are printing a string here

LoadRunner脚本实例来验证参数化的取值

问题提出: 主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.

方法:

28

脚本: 我把取到的参数值和对应的VuserID记录下来保存到一个文件中,下面是例子的脚本

long fileopen;

char *filename = \

vuser_init() {

if ((fileopen = fopen(filename,\

lr_error_message (\ return 0; } return 0; } Action() {

int id,scid; char *vuser_group;

//typedef long time_t; //time_t t; long t;

char *a = \ char *b = \

lr_whoami(&id, &vuser_group, &scid);

fprintf(fileopen,\(b),ctime(&t));

return 0; }

vuser_end() {

fclose(fileopen); return 0; }

参数设置为:

取唯一值,每次迭代更新。

(a),lr_eval_string

运行时设置的迭代次数为2。

29

场景的设置: 虚拟用户数:5个

运行模式:没有设置duration,选择的“Run until complete” 完成后的日志文件params.log的内容如下: 1,a1,b1,Thu Jan 01 08:00:05 1970 1,a2,b2,Thu Jan 01 08:00:05 1970 10,a5,b5,Thu Jan 01 08:00:05 1970 10,a6,b6,Thu Jan 01 08:00:05 1970 2,a3,b3,Thu Jan 01 08:00:05 1970 2,a4,b4,Thu Jan 01 08:00:05 1970 30,a9,b9,Thu Jan 01 08:00:05 1970 30,a10,b10,Thu Jan 01 08:00:05 1970 21,a7,b7,Thu Jan 01 08:00:05 1970 21,a8,b8,Thu Jan 01 08:00:05 1970

从生成的日志文件中可以看到VuserID分别为1,2,10,21,30 第一次迭代取参数分别为1,3,5,7,9 第二次迭代取参数分别为2,4,6,8,10

那试验的结果就是每个Vuser取参数的时候相同的Vuser在多个迭代中取的是连续的。不同的Vuser第一个的取值是计算了迭代次数后的那个顺序上的值。

LoadRunner关联函数的脚本实例--如何操作关联参数

这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究:

问题提出:如何对关联的数据进行字符串操作。下面使用了LoadRunne …… 此处隐藏:1890字,全部文档内容请下载后查看。喜欢就下载吧 ……

Loadrunner系统知识(非常好)(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/413535.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)