loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报

脚本loadrunnerstreamfilestring测试

、controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息:

以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时间点是否实现并发操作(times)

int id,scid;//定义保存vuser信息的2个整形变量
char *group;//定义保存groupname
char *filename = "c:\\work.log";//手动创建存储log文件
long file_stream;

if ((file_stream = fopen(filename,"a+")) == NULL) //打开文件
{
lr_error_message("Cannot open %s", filename);
return -1;
}

lr_whoami (&id,&group,&scid);//获取变量
lr_save_datetime("%H:%M:%S",DATE_NOW + TIME_NOW,"times");//获取当前时间,判断用户登录时间

if (id > 0)
{
fprintf(file_stream,"vuser用户的信
息:time=%s,id=%d,group=%s,scid=%d,uname=%s\n",lr_eval_string("{times}"),id,group,scid,lr_eval_string("{uname}"));
}

fclose(file_stream);

由于测试系统限制每个账号只允许一个人登录,当参数化后在场景中运行时,error信息非常多。通过上面输出log,测试是否是参数化取值方式所致。

参数化:用户1,用户2,用户3,用户4,用户5 ,用户6、用户7、用户8、用户9、用户10,值更新方式设置为sequence+iteration   或unique+iteration

controller:设置用户数为5,循环2次

验证参数化取值方式结果:

sequence方式时,5个用户第一次取值分别是用户1、用户1、用户1、用户1、用户1,第二次取值分别是用户2、用户2、用户2、用户2、用户2

unique方式是,5个用户第一次取值分别是用户1、用户2、用户3、用户4、用户5,第二次取值分别是用户6、用户7、用户8、用户9、用户10

因此若限制每个账号只允许一个人登录(即不允许同时多个人用一个账号登录),这必须设置unique+iteration,所以问题找到答案,解决。

时间: 2024-10-15 01:41:42

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式的相关文章

loadrunner脚本中参数化和返回值输出log到外部文件

loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参数化的数据和生成的返回数据保存起来,以便后续测试中使用!下面就以webservice协议的脚本为例,介绍下如何来实现所需的功能! int id,scid;char *group; //定义文件保存位置char *filename = "E:\\data\\test.log";long fi

Android中使用log4j输出log内容到sd卡

在android中,实现输出log内容到sd卡中的文件里面,做法是: 还是相对来说,log4j,算是好用. 1.下载android的log4j的库(的封装) 去:http://code.google.com/p/android-logging-log4j/ 下载对应的android-logging-log4j-1.0.3.jar,加到项目中. 2.再去下载所依赖的apache的log4j库 去:http://logging.apache.org/log4j/1.2/download.html 下

锐浪 报表, 当多行交叉报表时,对多行交叉报表中自由格中的多个字段控件,进行颜色控制. 取值 判断等实现

需要注意的点是: 1 . 要对自由格中对应的 字段框的背景填充方式改为:填充,否则没有效果. 2 . 代码中红色部门代码: Column 为明细网络对象属性中的 列集合 中的 交叉列的 名称,  Report.RunningDetailGrid.Columns.Item("Column_2") 3.  蓝色部门 为自由格中 控件的索引位置 ,也可以根据字段框的名称来进行控制如:  contentCell.Controls.Item("FieldBox8") 代码如下

SSH中各种形式的取值方式

现在这个项目是用SSH来开发的,遇到很多取值方式,在此总结一下,因为一直在用,很容易弄混,取值有问题: JSP通过url参数值取值: 例如:http://127.0.0.1:8080/portal/login!toAddPag.action?keyCode=1234555 通过以下语句取值: <% String keyCode=request.getParameter("keyCode"); %> 在页面中显示值:有以下两种方式: 第一: <%=keyCode  %&

shell脚本中if与case使用,查找文件locate与find的使用,压缩,解压及归档工具

shell脚本中if与case使用 查找文件locate与find的使用 压缩,解压及归档工具 执行的循序  顺序执行  选择执行  循环执行 条件语句if if只是一个有含义的词,不能单独作为指令使用. 单分支 if 条件判断:then 条件为真的分支代码 fi 双分支 if 判断条件:then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1, if-true elif 判断条件2,then if-ture elif 判断条件3,then if-ture ..

在业务控制方法中写入User,Admin多个模型收集参数

1)  可以在业务控制方法中书写1个模型来收集客户端的参数 2)  模型中的属性名必须和客户端参数名一一对应 3)  这里说的模型不是Model对象,Model是向视图中封装的数据 @Controller @RequestMapping(value = "/user") public class UserAction { @InitBinder protected void initBinder(HttpServletRequest request,ServletRequestData

javascript中json对象json数组json字符串互转及取值

今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 1 var jsonString = '{"bar":"property","baz":3}'; 2 var jsObject = JSON.parse(jsonString); //转换为json对象 3 alert(jsObject.bar); //取json中的值 2.json对象转为json类型的字符串 v

ASP.NET中多个相同name的控件在后台取值问题

有兽, 页面上可能有多个相同name的Html表单控件, 一般在后台使用Request.Form[“name”]取值,并用‘,’分隔. 但是当值中包含逗号时, 取值就会出现异常, 这个时候, 我们可以使用Request.Form.GetValues(“name")方法, 获取一个包含一个name值的数组.

shell脚本中怎样同时执行多个.sql文件,并把结束写入文件中(转)

第一版: #!/bin/bash USER="root" DATABASE="test" TABLE="user" mysql -u $USER $DATABASE --html --default-character-set=utf8 < one.sql > /tmp/check.html mysql -u $USER $DATABASE --html --default-character-set=utf8 < two.sq