51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6328|回复: 9
打印 上一主题 下一主题

[原创] 紧急求助用loadrunner模拟tuxedo客户端程序。。。。。。。。。。。。。。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-26 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
紧急求助用loadrunner模拟tuxedo客户端程序。。。。。。。。。。。。。。
目前在参与电信行业的一个项目,
项目中要求用loadrunner模拟手机用户用充值卡进行话费充值,
局方提供的是一个他们的充值卡的tuxedo服务,
一共有4个服务需要访问,充值卡的验证服务,充值卡的密码验证服务,充值手机号码的验证服务,充值服务。

目前我用loadrunner所写的tuxedo客户端,能够成功访问前三个服务,(就是往缓冲区里传送约定好的参数,如手机号码,卡号码,卡密码什么的,并得到约定好的表示成功的返回值),
可是最后一个服务,我发送了4个参数,主叫号码,卡密码,充值号码,充值金额,局方的tuxedo收到的参数主叫号码,卡密码,充值号码均正常,充值金额,我发送过去的是1,局方的服务收到的是0,也就是最后一个充值金额的参数,传递过去,就变成0了。



前三个服务的所有参数均为string,最后一个服务局方提供的参数,主叫号码,卡密码,充值号码是string,充值金额是double类型,如果把最后一个参数当做double类型,通过调用Fmkfldid32(4,index+2),得到fieldid(4为double类型,index就是参数的次序,第4个参数index为3,约定的调用tuxede获取fieldid的方法Fmkfldid32中的index+2=5)。如果把充值金额当做double类型来获取fieldid,那脚本运行起来就报错:
ction.c(87): ERROR:  lrt_tpcall:  TPESVCFAIL - application level service failure

意思是缓冲区中的fieldid不匹配(比如我最后一个参数少传了,就报这个错误,其他服务也是,少传一个参数的话,就提示这个错误)

如果把充值金额当做string来处理,通过调用Fmkfldid32(5,3+2)来获取fieldid,然后用得到的fieldid来运行脚本,脚本不会报错,但是脚本运行后没有得到约定好的成功的返回值。并且局方的tuxedo服务的日志显示我发送过去的参数,前3个没有问题,但是最后一个金额为0,也就是我发送过去的stirng类型的数据,估计他们后台当做double类型来处理,就变成0了,这样就导致充值的模拟脚本不成功:
金额的参数加入方法:
        lrt_Fadd32_fld( (FBFR32*)data_input,"id=167772165",
                                        "value=1",
                                        LRT_END_OF_PARMS);

脚本日志:
Action.c(71): Request buffer sent
Action.c(71): FML32 buffer
Action.c(71):    167772162:
Action.c(71): 0             "130XXXXXXXX"(商业机密,这里就用XX表示了)

Action.c(71):    167772163:
Action.c(71): 0             "38085XXXXXXXXXXXXXX"(商业机密,这里就用XX表示了)
Action.c(71):    167772164:
Action.c(71): 0             "130 XXXXXXXX "(商业机密,这里就用XX表示了)

Action.c(71):    167772165:
Action.c(71): 0             "1"(这里是传递的充值金额)
Action.c(71): Reply buffer received
Action.c(71): FML32 buffer
Action.c(71):    33554433:  167772162
Action.c(71):    33554433:  134217731
Action.c(71):    33554433:  167772164
Action.c(71):    134217731:  0
Action.c(71):    167772162:
Action.c(71): 0             "01120"
Action.c(71):    167772164:
Action.c(71): 0             " "

局方的tuxedo后台日志:

2010-05-20 10:23:14.627 (5244|1) LM_ERROR kefu [YKC_PAY] OK! time_consumed(0.005639) 130 XXXXXXXX,38085 XXXXXXXXXXXXXX,130 XXXXXXXX,0.0
0 01120,0.00,


有哪位高手比较了解用loadrunner模拟tuxedo客户端的啊???
能帮在下解决一下这个怪异的难题,在下感激不尽。。。

紧急求助。。。。。。。。。

我的QQ是43448962在线等高手协助。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-5-26 10:57:39 | 只看该作者
自己先顶一个。。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-5-26 11:10:10 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-5-26 14:21:32 | 只看该作者
继续等高手来协助解答。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-5-28 14:03:59 | 只看该作者
救命啊。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-1 17:19:28 | 只看该作者
找一下小布老师的tuxedo视频,小布老师是用C++写的。在博布客的网站上有的。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-6-3 15:07:57 | 只看该作者
楼上说的网站是哪里的啊?小布老师是谁啊。。。
能提供点详细的信息吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-2-28 09:48
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2010-6-4 14:14:51 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-10-12 11:49:20 | 只看该作者
    我想学习下LoadRunner测试tuxedo协议,能把你的脚本给我拜读下吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2010-10-12 11:50:20 | 只看该作者
    再回复下
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 22:56 , Processed in 0.081811 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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