51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4811|回复: 11
打印 上一主题 下一主题

[Robot] Robot VU脚本操作SQL SERVER数据库

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-5-12 08:51:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include
{
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000;       /* Set minimum Timeout_val to 2 minutes          */
push Timeout_val = Min_tmout;

ser=sqlconnect("server","sa","8888","192.168.1.12","sqlserver");
set Server_connection = ser;
push Think_avg = 0;
sqlexec ["sql_1000"] "select * from test_table";
sqldisconnect (ser);
}
sqlconnect("server","sa","8888","192.168.1.12","sqlserver"):数据库连接
参数:server:标签,由于Testmanager报告输出
      sa:用户名
      8888:密码
      192.168.1.12:数据库IP地址
      sqlserver:API库,连接SQL Server为sqlserver
sqlexec:执行SQL语句
sqldisconnect:断开数据库连接
    VU脚本加入数据池(DATAPOOL),向测试数据库中装配测试数据时效率很高,推荐使用。如何加入数据池看帖子“数据池(DATAPOOL)专题”。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-5-17 16:55:03 | 只看该作者
请问楼主:我想用datapool做成动态的,也就是说,让它里面的值不预先设定,而是用sqlexec等函数从数据库中调数据,这样是可行的吧?可是我看了你的解释觉得还应该有一个给datapool的赋值过程,难道不需要,它是自动执行的吗?
呵呵,呵呵我还没有试!!!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-5-20 15:16:32 | 只看该作者

纳闷...


怎么还没有解答呀?楼主大人!!!是不是最近很忙呀?
我试了试,没有能够把数据库里的数据动态地导到datapool中去,
只是用testmanager静态的导入了一些。
这不是我想要的,我想让它动态来做,手写vu代码如何?
对,试试看!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-5-22 06:24:29 | 只看该作者
在数据池专题里面我已经写了如何添加datapool,如下所示:


以下是全部手工编写的使用数据池的VU脚本:
#include
{
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000;       /* Set minimum Timeout_val to 2 minutes          */
push Timeout_val = Min_tmout;
DP1 = datapool_open("test");   //打开数据池

ser=sqlconnect("server","sa","8888","192.168.1.12","sqlserver");
set Server_connection = ser;
push Think_avg = 0;

for (i=0; i<10; i++)
{
   datapool_fetch(DP1); //移动指针到下一记录
   sqlexec ["sql_1000"] "TestDB..test " +datapool_value(DP1, "q");
}
sqldisconnect (ser);
datapool_close (DP1);   //关闭数据池
}

DATAPOOL_CONFIG "test"  DP_SEQUENTIAL DP_SHARED DP_WRAP
{
        INCLUDE, "q", "string", "8";
}
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-5-24 11:36:48 | 只看该作者

不是吧?

楼主,我觉得你没有完全理解我的意思!
我是说:把datapool做成动态的!不是动态调用datapool的值呀!
而是把从数据库中查询出来的值赋给datapool,即填到datapool中去,再在脚本中读出那些数据,用于脚本回放!
比如说:在我的数据库(SQL Server的)中有50个用户(不同名的),我想模拟出40个不同的用户来登陆一个系统进行测试,但是我在录制好的脚本里的那个datapool(名字为User,用来做虚拟用户的存储)中不设置登陆用户名,想在脚本回放时自动的把50个用户名写入datapool!
现在明白不?可以实现吗?

我之所以这样说,是看你上面的帖子里还是取datapool中的值,来执行响应的操作,比如查询,登陆等等。你的例子我没有理解错吧?
呵呵...
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-5-24 11:40:03 | 只看该作者
希望与你深入交流这个问题,谢谢!!!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-5-25 00:28:21 | 只看该作者
你的思路有问题
            每次读取数据然后再写入到datapool,在利用datapool来读取数据
            中间的步骤个人认为太多
          你的问题解决思路:
            一.
            可以把所有数据做到文件中,然后利用readline函数读取
            替换到变量,这样每次就修改数据文件就可以了
         
           二.如果非要用datapool
               所以我们可以利用fprintf() 把读取的数据写入datapool中
               然后你的脚本读取数据,就可以达到你的效果了
              直接写数据是因为datapool是个特殊的后缀为csv的文本文件
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-8-2 21:01:16 | 只看该作者

请问你是怎么录制成功SQL SERVER的?

请详细介绍一下录制前的准备工作,都要设置那些参数?我试过总也录不成,我选的协议是SQL SERVER,Method是API,数据库服务器是SQL SERVER2000,客户端程序是DELPHI写的。录制是好象也能捕获的调用,但生成脚本时总是说什么协议解码错误,请高手指点迷津,多谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2004-8-2 21:02:17 | 只看该作者

请问你是怎么录制成功SQL SERVER的?

请详细介绍一下录制前的准备工作,都要设置那些参数?我试过总也录不成,我选的协议是SQL SERVER,Method是API,数据库服务器是SQL SERVER2000,客户端程序是DELPHI写的。录制是好象也能捕获的调用,但生成脚本时总是说什么协议解码错误,请高手指点迷津,多谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2004-8-3 20:04:38 | 只看该作者
脚本是手工编写的,不是录制的。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-12-23 16:44:28 | 只看该作者

楼主能讲讲sqlexec函数的用法吗??

sqlexec ["sql_1000"] "select * from test_table";
中的["sql_1000"]是什么意思啊??

[ Last edited by duancj_1982 on 2004-12-23 at 16:52 ]
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-4-26 22:36:13 | 只看该作者
强烈关注ing~~~
出来位老大解释下teststudy地问题啊~~
表看不起偶们新人呢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 01:08 , Processed in 0.079721 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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