51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] winsock协议录制C/S程序回放时不能自动启动程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-17 16:53:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序是C/S结构的,用的是 winsock协议录制的,选的是init。录制过程包括:
1、登陆进入程序
2、在程序中输入数据以取得相关信息
在data.ws有录制脚本,在init中的脚本为如下:
lr_think_time(10);
    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=192.168.0.56:9080",  LrsLastArg);
    lrs_send("socket0", "buf0", LrsLastArg);
    lrs_receive("socket0", "buf1", LrsLastArg);
    lrs_send("socket0", "buf2", LrsLastArg);
    lrs_receive("socket0", "buf3", LrsLastArg);
    lr_think_time(22);
    lrs_create_socket("socket1", "TCP", "RemoteHost=192.168.0.56:9080",  LrsLastArg);
    lrs_send("socket1", "buf4", LrsLastArg);
    lrs_receive("socket1", "buf5", LrsLastArg);
    lrs_send("socket0", "buf6", LrsLastArg);
    lrs_receive("socket0", "buf7", LrsLastArg);
    lrs_send("socket0", "buf8", LrsLastArg);
    lrs_receive("socket0", "buf9", LrsLastArg);
    lrs_send("socket0", "buf10", LrsLastArg);
    lrs_receive("socket0", "buf11", LrsLastArg);
    lrs_send("socket0", "buf12", LrsLastArg);
    lrs_receive("socket0", "buf13", LrsLastArg);
    lrs_close_socket("socket1");
    lrs_create_socket("socket2", "TCP", "RemoteHost=192.168.0.56:9080",  LrsLastArg);
    lrs_send("socket2", "buf14", LrsLastArg);
    lrs_receive("socket2", "buf15", LrsLastArg);
    lrs_send("socket2", "buf16", LrsLastArg);
    lrs_receive("socket2", "buf17", LrsLastArg);
    lrs_send("socket2", "buf18", LrsLastArg);
    lrs_receive("socket2", "buf19", LrsLastArg);
    lrs_send("socket2", "buf20", LrsLastArg);
    lrs_receive("socket2", "buf21", LrsLastArg);
    lrs_close_socket("socket2");
    return 0;
在进行回放时,没有自动启动程序,当然也就没有进入程序后在程序里输入数据并得到返回结果的操作了。
这个该如何弄???各位赐教
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-17 18:58:00 | 只看该作者
你回放的时候出现什么了?
重录一次还是这样吗?
data.was里有没有录到东西?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-17 23:37:21 | 只看该作者
loadrunner回放是时候应该不会启动你之前录制的程序吧,loadrunner就是模拟你录制的程序的。如果理解有误,请指教。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-18 10:20:44 | 只看该作者
应该不会启动,这个不是功能测试,性能测试仅仅模拟消息进行收发。楼上说的没错。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-5-21 09:49:02 | 只看该作者
谢谢大家的指教
我要测试的是:
该程序是C/S结构的,数据库是ORACLE 9I。测试登陆入程序后,输入数据回车后到弹出第一个消息框所花费的时间(在6-12s之间)。如果我按这样录制的程序在回放时LR不能启动程序的话,又该如何才能反映出程序在输入数据后到弹出第一个信息框的时间呢?
我有在control里运行场景,可是里面反映的所花费的transaction的时间好像根本不对(远远超出6-12s),。
我对LR还只是初学阶段,有问的不对的还请各位指出,。。sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-5-21 10:12:59 | 只看该作者
在输入数据回车后到弹出第一个消息框所花费的动作前后插入事务开始与结束,事务的响应时间就是你所需的时间
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-5-21 10:18:07 | 只看该作者
如何查看一个事务的响应时间呢??谢谢!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-5-21 10:52:06 | 只看该作者
按照你说的方法加入事务的开始与结束点后(事务名:pop),在execution log里有这么一句话:Action.c(72): Notify: Transaction pop ended with Pass status (Duration: 5.8029).就是这个表示该事务所耗费的时间为5.8029秒吗?不需要在control运行场景后看transaction的处理图吗?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-5-21 11:09:41 | 只看该作者
上面的那种测法好像不行啊,我那这秒表测,从输入数据到弹出第一个信息框耗时平均在10秒左右,可是在输入数据时插入事务开始点,在弹出信息框插入事务结束点,运行后在execution log里显示的是vuser_init.c(78): Notify: Transaction pop ended with Pass status (Duration: 5.9845).这两个时间相差太大了,估计不是很准确。因为我们期望的是在优化程序后时间能缩短到6-8秒,可是我现在用的是未优化的程序测的,时间怎么会减少这么多呢。
是不是我事务点设的有问题?或者是查看事务耗时的地方不正确?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-5-21 16:27:30 | 只看该作者
用loadrunner跑出来的时间应该是从客户端发出请求开始到服务器返回数据之后这段时间。应该不包括客户端自己处理显示结果的时间,所以会比我们实际运行程序的时间少。这是我的理解,不知是否正确。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-5-21 17:22:42 | 只看该作者
lovetest,在把时间比较后,你的看法应该是对的,因为我说的10秒确实包含了客户端自己的处理时间,所以我测试的事务的时间会少很多,谢谢你的意见。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-5-22 16:50:17 | 只看该作者
大家都来顶帖子。。多多发表意见和建议,
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 19:40 , Processed in 0.071042 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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