51Testing软件测试论坛

标题: 如何实现在做lr sql参数化时sql语句中的变量的参数化? [打印本页]

作者: ebuluo    时间: 2008-5-6 01:44
标题: 如何实现在做lr sql参数化时sql语句中的变量的参数化?
题目有点绕口。忽发奇想,权当作一个技术问题来讨论。
我们知道参数化时可以用sql向导用sql语句从数据库中提取数据,
比如 select salary from username,


现在我的问题是,如果我想对username进行参数化(比如lily,bobo,terry) ,在loadrunner里面应该怎么做?
作者: ebuluo    时间: 2008-5-6 01:47
也就是说我想在脚本运行的时候取到的数据是
select salary from lily;
select salary from bobo;
select salary from terry;
的一个集合,而不是单个人的值。

如果不通过预先取出这些值放在文件中然后读取的这种方法,是否有其他的方法?

[ 本帖最后由 ebuluo 于 2008-5-6 01:50 编辑 ]
作者: AJan1000    时间: 2008-5-6 08:34
可以在脚本当中替换参数的形式把。
在lrd_stmt(lsr14,"select salary from username \r\n",-1,1,0,0)函数当中
右击"select salary from username "替换为参数,在参数列表中输入其它语句
select salary from lily;
select salary from bobo;
select salary from terry;
应该也可以的吧。

作者: 1qazse4    时间: 2008-5-6 08:56
确实是个不错的idea
  关注中.....
作者: ebuluo    时间: 2008-5-6 12:08
原帖由 AJan1000 于 2008-5-6 08:34 发表
可以在脚本当中替换参数的形式把。
在lrd_stmt(lsr14,"select salary from username \r\n",-1,1,0,0)函数当中
右击"select salary from username "替换为参数,在参数列表中输入其它语句
select salary from lily ...

这是一个不错的方法~0~不过这个函数可以和http协议的脚本混用吗?
作者: AJan1000    时间: 2008-5-6 12:31
原帖由 ebuluo 于 2008-5-6 12:08 发表

这是一个不错的方法~0~不过这个函数可以和http协议的脚本混用吗?


好像不可以,之前我试了一下,在HTTP协议当中,不识别这个函数。
作者: ebuluo    时间: 2008-5-6 13:02
原帖由 AJan1000 于 2008-5-6 12:31 发表


好像不可以,之前我试了一下,在HTTP协议当中,不识别这个函数。

我印象中不是一个协议的,而且貌似这2个协议不能混用才多问了一句呵呵。不过也是个思路吧
作者: demit1    时间: 2008-5-7 23:19
http协议中的DataWizard,好像不是实时获取数据库中的数据的吧,只是一次性将select结果down到本地,所以也就没有参数化的概念了
作者: ebuluo    时间: 2008-5-8 14:34
原帖由 demit1 于 2008-5-7 23:19 发表
http协议中的DataWizard,好像不是实时获取数据库中的数据的吧,只是一次性将select结果down到本地,所以也就没有参数化的概念了

正因为这样,我才提这个问题。如果我正好有这样的需求,有没有好的方法实现?
作者: qq33046881    时间: 2008-5-12 10:54
顶!
作者: zhicl    时间: 2008-5-12 11:05
数据库中建个临时视图?不过如果真有这个需求也挺奇怪的,程序中又是怎么实现这个值的变化的呢?如果程序中可以,我想我们也能取得到吧,否则数据库设计就不合理了
作者: Testingpig    时间: 2008-5-14 15:24
再套一层SELECT 语句吧
楼主这个
select salary from lily;
select salary from bobo;
select salary from terry;
这个例子可行性不大,一般数据表不会按人名来建,这样数据太庞大了
一般结构好的数据表,可以多套几层SELECT语句,就实现你要集合效果
或许LR里有其它函数可以实现,但我现在还不知道,
也等待有高手出现,指教一下
作者: garfield0610    时间: 2009-3-14 01:50
我想实现这个 select username from UserTable where userID = {userID} , 这是合理的吧?
比如要测 审核用户资料,就是说创建了用户之后在审核时再输入创建时输入的重要信息(比如username)
然后从用户列表中点击某一用户查看详情,点击的时候从页面读到ID,想用这个ID从数据库中读出username再填进审核页面上。

不知道这种动态的数据库查询能否实现,怎样实现。。
作者: msnshow    时间: 2009-3-14 23:18
用关联来实现,从页面上取你要的数据

如果没有这样的页面,你可考虑与开发为你用一个




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