51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1916|回复: 3
打印 上一主题 下一主题

[求助] LR 中无法使用表中的值替换参数的错误 是怎么产生的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-10-11 15:23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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个问题在手动执行脚本的时候都不会出现,想请教下各位大神具体是什么原因?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-10-11 16:44:36 | 只看该作者
1.单用户迭代10次是否能写入10条数据?
2.用户访问控制-同一用户提交数据时间间隔什么的有没有?
这种情况的话,最有效的办法就是看监控日志,lr边跑你边看后台的响应日志
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-10-12 09:59:55 | 只看该作者
回复 2# felix09049


你好

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

3,想问下,在进行负载测试的时候,LR的后台响应日志在哪里看?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2012-10-12 14:40:38 | 只看该作者
错误的地方找到了

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

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

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

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

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

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

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

==========为什么变量的设置都是一样的 但是执行的过程确不同?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 06:05 , Processed in 0.060087 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表