51Testing软件测试论坛

标题: 为什么录的脚本执行不报错,但是数据库里没有新数据呢? [打印本页]

作者: nicehope33    时间: 2009-4-23 19:07
标题: 为什么录的脚本执行不报错,但是数据库里没有新数据呢?
厄。。。
晕头转向的问问。。。。
问题就是:
     我录了一段脚本,选的web(http/html)协议,操作就是登入一个OA系统,然后新增一个档案记录保存

保存的这个数据是没有唯一性限制的 ,也就是只要重复保存操作(数据完全相同),就会新增一个数据到数据库

录完之后一切正常,执行脚本的时候也没报啥错误....
   但是数据库里没有新数据

这个问题我在哪里看到过解答,好像是说没有关联导致登陆失败造成的...
我录入的设置是自动关联,录入过程中也没提示什么

请问....这个是怎么回事哪?

...
因为刚开始用loadrunner/....
所以很多设置还没搞清楚,是不是哪里设置的不对?
敬请指教、讨论。。以及。。救命。。。
作者: mr.bee    时间: 2009-4-23 19:31
一般来说是由于还有部分对象未关联造成,请注意新增步骤表单中的流水号等信息,看看是否需要进行手动的关联。
未报错只代表运行通过,但不代表操作成功,对于oa的友好错误页面也许是以http200返回,lr并不认为这发生了错误。
作者: nicehope33    时间: 2009-4-23 19:37
e......谢谢先、、、

但是。。我怎么手动关联呢?好像两次录的脚本差距很大。完全找不出来。。

而且。。我这个录出来有很多乱码

。。。。
还有。。这个“新增步骤表单中的流水号” 。。。是啥米东西?
作者: aman_cao    时间: 2009-4-23 23:18
LR是按http response status状态区分成功或失败的,但我们理解的是业务逻辑的正常执行,可以通过加检查点方式来检查。
业务里的东西,开发是最清楚的,呵呵,建议问下开发吧
作者: Lennon    时间: 2009-4-24 00:09
标题: 可能性很多
这种可能性很多

1、你测的那个东西功能本身有功能问题。
lr不管系统后面怎么处理的。但如果手动做完全没有问题,lr迭代几次全错的话,可以排除这个可能性

2、上面说的关联问题。
这么处理。从第二个发到服务器的语句开始。检查里面提交的参数。如果里面有些参数并不是那步操作中你提交时填写的参数的话。这些参数是你需要关联的东西,也就是你这步上面一步的response里面服务器返回的东西。你只要到tree里面的response里面点开body,搜索到这个值,然后右键,添加参数就可以了。把整个脚本按照这个过程来一边,做到每个发到server的参数的来源你心里清楚,要么是你填的(参数化),要么是服务器传回来的(关联)。

3、还有例外么?
有,比如以下情况
   如果客户端同服务端的通讯机制不是http,如果客户端发向服务端的东西是js计算的,如果客户端发向服务端的东西是本地计算的(com组建)。那比较复杂了。1、通讯机制不是http的话,添加协议 2、后面情况需要通过脚本在本地计算出那个值。一般调用dll在完成。这种值一般是做安全的,自己不大可能知道算法的。如果到这个地步了,把dll的要求写明确,让开发提供,如果开发提供不了,那就只能改程序的判断以确保这类的值可控了。不知道是不是还有其他 办法。
作者: nicehope33    时间: 2009-4-24 10:04
恩恩。。今天试试...谢谢大家~ 先~
作者: msnshow    时间: 2009-4-26 16:38
添加检查点
作者: nicehope33    时间: 2009-5-8 14:18
来报告一下结果:
结果就是 实际上脚本应该是没有问题的,我折腾几天之后,突然想起来因为系统是在数据库上加了个业务层,因为代码保密问题我搞不清楚他是怎么处理的,而且程序里有n多加密的协议
我多次询问,开发人给我说重复数据是可以保存的,我也手工操作输入了完全一样的数据,都是成功的

于是我想是不是通过脚本录制的时候有什么唯一数据被记录,用户是看不到的(脚本一片乱码,也没有搜索到有关联),这样实际上我那个操作他只保存了一次数据 或者只向数据库提交了一次数据...so  
我把录制脚本时新增的数据删除
然后回放脚本,...
数据果然写进去了




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