51Testing软件测试论坛

标题: 回放迭代,都正确产生数据入数据库表,但场景执行,运行passed,但数据没有完全入库 [打印本页]

作者: canhuih    时间: 2010-8-6 14:16
标题: 回放迭代,都正确产生数据入数据库表,但场景执行,运行passed,但数据没有完全入库
用的是LR9.0,CS架构,协议是Microsoft.net协议,录制了一个登录过程。
参数化了LoginId与EmployeeId,即登录时顺序产生的一个ID和用户登录的ID,登录密码都是一样。
回放迭代多次,数据库表T_EmployeeLogin都会按照参数化的值,在表里插入的LoginId与EmployeeId,正确。
参数化LoginID的取值方式是:Sequential与Each iteration,EmployeeId的取值方式是:Same line as LoginId。

运行场景,并发2个用户,执行完成,passed处显示2,
但查看表T_EmployeeLogin,只会产生一条数据,LoginId为1,参数表的第一条;EmployeeId为100001,参数表的第一条。

大家知道为什么2个passed,但是数据只会产生一条吗?

因为登录的数据都不对,我没法进行下续的测试。



谢谢大家
作者: efficient    时间: 2010-8-6 16:16
标题: 回复 1# 的帖子
参数要设置为unique? 应该是参数的问题
作者: jiayanhong83    时间: 2010-8-6 17:11
两个Pass但只产生一条数据,可能是由于你没有加判断条件,即使登录不成功,但服务器已经返回了响应(只是响应内容是提示错误),LR会认为已经得到服务器响应,所以为Pass,加个判断,如果登录不成功,事物以失败结束,就不会只登录成功一个,却显示2个Pass了
作者: 云层    时间: 2010-8-6 17:12
pass不代表做成功了!应该是参数设置的问题
作者: canhuih    时间: 2010-8-6 17:34
谢谢大家的建议。
但是CS架构生成的登录退出脚本,会有3个一样的LoginId,有好些个EmployeeId,
我不能设置为unique,只能设置为Sequential与Each iteration。

是不是数据库存储数据导致的问题呢?
作者: fiskeryang    时间: 2010-8-6 17:34
应该是参数设置的问题  查一下关联是否设置正确

用simulate parameters模拟一下参数取值
作者: canhuih    时间: 2010-8-9 16:24
谢谢大家,后来我重新设置参数化取值的方式,
即LoginID的取值方式LoginID的取值方式是:Unique与Each iteration与continue with last value与allocate 1 values for each vuser,EmployeeId的取值方式是:Same line as LoginId。
后执行2个并发,数据库有2条记录。
再次感谢大家。
作者: canhuih    时间: 2010-8-9 16:25
虽然是数据入库了,但是我还是不大理解,
我感觉我这两种参数设置取值的方式效果理论上都一样,为什么会出现不同的结果呢?
作者: akui    时间: 2010-8-9 16:44
设置为sequential的话,每个Vuser都会从第一个参数值开始使用;
设置成unique,同时update value on设置成each iteration,每个Vuser都会使用不同的数据,就不会重复了!




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