51Testing软件测试论坛

标题: LR 中无法使用表中的值替换参数的错误 是怎么产生的? [打印本页]

作者: cinanji    时间: 2012-10-11 15:23
标题: LR 中无法使用表中的值替换参数的错误 是怎么产生的?
lr_start_transaction("save");

        web_submit_data("test.123.com_5",
                "Action=http://test.123.com/?ac=222",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://test.4399api.com:8070/home/flash/100010733/7ac533",
                "Snapshot=t688.inf",
                "Mode=HTTP",
                ITEMDATA,
                "Name=token", "Value={CorrelationParameter_6}", ENDITEM,
                "Name=gamekey", "Value=7bcc8c9a25de8354", ENDITEM,
                "Name=uid", "Value={uid}", ENDITEM,
                "Name=session", "Value={CorrelationParameter_2}", ENDITEM,
                "Name=verify", "Value={verify}", ENDITEM,
                "Name=data", "Value={data}", ENDITEM,
                "Name=index", "Value={index}", ENDITEM,
                "Name=gameid", "Value=100010733", ENDITEM,
                "Name=title", "Value={title}", ENDITEM,
                LAST);
   
        lr_end_transaction("save", LR_AUTO);
=========================================================
场景的设计是10名VUser,将脚本放入场景执行的时候出现2个问题

1,执行的时候会出现以下2条错误

-13888 错误: 参数“verify”: 无法使用表“verify.dat”[列=0,行=2] 中的值替换参数。
-13874 错误: (0, 2)

2,执行完成后显示事务执行成功的次数后成功写入的次数相差了一倍左右,就是事务成功执行了100,但是写入数据库中的数据只有50次左右。

以上2个问题在手动执行脚本的时候都不会出现,想请教下各位大神具体是什么原因?
作者: felix09049    时间: 2012-10-11 16:44
1.单用户迭代10次是否能写入10条数据?
2.用户访问控制-同一用户提交数据时间间隔什么的有没有?
这种情况的话,最有效的办法就是看监控日志,lr边跑你边看后台的响应日志
作者: cinanji    时间: 2012-10-12 09:59
回复 2# felix09049


你好

1,手动执行脚本的话不管执行多少次都可以正确的将值写入到数据库中
2,我在场景中只设计一名用户的话 进行负载测试的时候 也会出现这样的情况。没有设置用户提交数据时间间隔,只是在脚本的末尾添加了思考时间

3,想问下,在进行负载测试的时候,LR的后台响应日志在哪里看?
作者: cinanji    时间: 2012-10-12 14:40
错误的地方找到了

1,变量verify的参数设置是按照默认的Sequential,Each iteration进行设置,而参数列表中只有保存了一个值所以从第二次执行开始verify都无法获取到参数的值。从而导致报错

2,执行到偶数的次数时变量uid获取的值为空,使得页面验证不通过。所以不会往数据库写入相应的数据,导致了执行次数和写入数据库的次数相差一倍

找到了产生问题的原因而且有方案解决,但是不知道为什么会产生。有些疑问

脚本中的参数的设置都是默认的,即Sequential,Each iteration,而且每个变量的参数列表都只有一个值。为什么verify和uid执行时的过程和其他的变量不一致

verify:第二次迭代后每次开始迭代的时候都会先给verify赋值下一个参数,从0行1列,0行2列,一直往下推。这个和参数的设置是一致的

uid:每次执行到偶数次数的时候会发现给uid赋予下一个参数时所赋的值为空,但是到下一次迭代的时候又会把第一列的参数值赋给该变量。

其他变量每次迭代开始的都是把参数列表第一列的值赋给变量

==========为什么变量的设置都是一样的 但是执行的过程确不同?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2