51Testing软件测试论坛

标题: WEB协议能否连接数据库动态获取数据? [打印本页]

作者: union_life    时间: 2010-11-22 17:31
标题: WEB协议能否连接数据库动态获取数据?
本帖最后由 union_life 于 2010-12-1 11:49 编辑

我用的版本是LR8.1的,测试的系统是B/S的,由于数据的关联性,我想连接数据库动态获取数据作为参数,不知道行不行,请高手指点。
我的场景是这样的:
有2个脚本,第一个脚本跑出的数据可以给第二个脚本做驱动参数,但是参数不能立即可用,中间需要一个批处理动作,所以我想通过sql语句动态的从数据库里取符合第二个脚本条件的参数。
注:数据库是Oracle,工具:PL/SQL。
作者: androidone    时间: 2010-11-22 18:03
进行关联操作
作者: PrefTest    时间: 2010-11-22 18:10
如果是在Web协议下连接Oracle数据库,应该要找一下Oracle数据库连接的C代码或者DLL
作者: msnshow    时间: 2010-11-22 21:36
这个最简单的方法就是写一个页面,把你需要的数据列出来,然后用关联去获取
作者: lamuda    时间: 2010-11-22 23:02
可以,要2个协议
作者: hgl    时间: 2010-11-23 12:40
本帖最后由 hgl 于 2010-11-23 12:42 编辑

回复 4# msnshow
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/%]72L~~CG]C@3E3NH}L1HX0.jpg

原本服务器就不返回这些数据,现在把它显示在页面上,是不是跟实际情况不一样呢?
作者: msnshow    时间: 2010-11-23 20:57
回复 6# hgl


  对性能 会有一些影响
作者: union_life    时间: 2010-11-26 09:20
这个最简单的方法就是写一个页面,把你需要的数据列出来,然后用关联去获取
msnshow 发表于 2010-11-22 21:36

我主要想动态取得新的数据,这样岂不就是一般的参数化,不能动态获取?
作者: archonwang    时间: 2010-11-26 10:55
可以。
作者: msnshow    时间: 2010-11-27 12:51
回复 8# union_life


    每次访问这些页面就是相当于动态获取了啊
作者: union_life    时间: 2010-12-1 11:48
回复  union_life


    每次访问这些页面就是相当于动态获取了啊
msnshow 发表于 2010-11-27 12:51


可能是我没有说清楚,我的场景是这样的:
有2个脚本,第一个脚本跑出的数据可以给第二个脚本做驱动参数,但是参数不能立即可用,中间需要一个批处理动作,所以我想通过sql语句动态的从数据库里取符合第二个脚本条件的参数。
我的脚本是WEB/HTTP协议录制的,不知道能否实现这种从数据库动态取值?如果可以,该如何实现,请高手指点。
作者: msnshow    时间: 2010-12-1 20:18
同样的道理嘛,你过段时间才访问那个读取第一个脚本跑出来的数据的页面
作者: zongjiezhe    时间: 2010-12-3 11:00
啥时候能看懂啊
作者: union_life    时间: 2010-12-7 10:21
同样的道理嘛,你过段时间才访问那个读取第一个脚本跑出来的数据的页面
msnshow 发表于 2010-12-1 20:18

不是这样的,首先这两个脚本是同时在跑的,第二个脚本会提前准备一些数据。其次两个脚本执行速度及频率是不一样的,所以第二个脚本不能直接取第一个脚本的结果,而是需要从数据库中查询出符合条件的数据作参数,而我想要的就是从数据库查询得到实时的动态的数据作为参数,这个动作能否实现,该如何实现?
作者: msnshow    时间: 2010-12-9 14:00
回复 14# union_life


    我还是不明白,我说的方案为什么不能实现你的要求
作者: qiguojie    时间: 2010-12-9 15:35
第二个脚本。
1、选择要参数化的地方
2、参数化,选择file
3、在参数属性窗口,选择DataWizard进入odbc
4、配置查询语句等
作者: hgl    时间: 2010-12-9 16:35
本帖最后由 hgl 于 2010-12-9 16:45 编辑

回复 16# qiguojie

楼主要动态的,两个脚本同时运行这样取不出最新的数据呀
作者: C组十三    时间: 2010-12-9 22:13
最直接的办法,编码连数据库,每次ACTION查询一次,结果取出来,你想怎么用怎么用。
作者: qiguojie    时间: 2010-12-10 13:26
回复 17# hgl

那你就录第三个脚本,不停的查数据然后保存到参数文件里不就完了。。很难么??
作者: union_life    时间: 2010-12-14 09:47
回复  union_life


    我还是不明白,我说的方案为什么不能实现你的要求
msnshow 发表于 2010-12-9 14:00

你的方案需要增加页面,不仅增加了编码量,对性能有影响;另外,增加页面,中间页面的跳转还需要把它加进去,也不符合实际的业务流程。
作者: union_life    时间: 2010-12-14 09:49
回复  hgl

那你就录第三个脚本,不停的查数据然后保存到参数文件里不就完了。。很难么??
qiguojie 发表于 2010-12-10 13:26

我就是要这个过程,不停的查数据保存成参数,用于第二个脚本。这个能实现吗?怎么实现?请指教。
作者: hqf007    时间: 2010-12-15 12:56
可以,应该添加两个协议,用lr_dbconnect函数就可以连了
作者: soso0622    时间: 2010-12-15 15:32
可以在设置参数那选择ORACLE数据库连接吧,然后输入你要做参数的SQL语句数据就行了吧。
作者: soso0622    时间: 2010-12-15 15:32
可以在设置参数那选择ORACLE数据库连接吧,然后输入你要做参数的SQL语句数据就行了吧。
作者: msnshow    时间: 2010-12-15 21:22
其实不管你怎么做,都会对性能有影响
作者: hqf007    时间: 2010-12-16 14:11
不行
作者: union_life    时间: 2010-12-28 11:05
纠结,这么长时间还是没有解决办法,跪求高手指点,最好能详细点,脑子转圈慢。
作者: 婴儿    时间: 2010-12-28 15:19
只要返回数据就行了,不一定要增加页面,也不一定要显示在页面上。这只是为测试用的,测完可以取掉,对性能是否有影响只需要看对你关注的点是否有影响,其余可忽略。
如果参数不能直接使用而需要先进行批处理,那可以在脚本中实现批处理再使用
假设脚本A跑数据,脚本B要用脚本A的数据,如果要让这两2个脚本同时跑,可以这样设置场景:1组是脚本A,2组是脚本A和脚本B拼成的连惯脚本,可以通过统一集合点名称来实现不同步骤的并发,或者不使用集合点听之任之进行混合测试
作者: mr.bee    时间: 2010-12-28 15:53
msnshow的方法不错。。。




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