51Testing软件测试论坛

标题: 紧急求助用loadrunner模拟tuxedo客户端程序。。。。。。。。。。。。。。 [打印本页]

作者: 天朝tester    时间: 2010-5-26 10:54
标题: 紧急求助用loadrunner模拟tuxedo客户端程序。。。。。。。。。。。。。。
紧急求助用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在线等高手协助。。。。
作者: 天朝tester    时间: 2010-5-26 10:57
自己先顶一个。。。
作者: 天朝tester    时间: 2010-5-26 11:10

作者: 天朝tester    时间: 2010-5-26 14:21
继续等高手来协助解答。。。。
作者: 天朝tester    时间: 2010-5-28 14:03
救命啊。。。
作者: Slave    时间: 2010-6-1 17:19
找一下小布老师的tuxedo视频,小布老师是用C++写的。在博布客的网站上有的。
作者: 天朝tester    时间: 2010-6-3 15:07
楼上说的网站是哪里的啊?小布老师是谁啊。。。
能提供点详细的信息吗?
作者: 南拳王    时间: 2010-6-4 14:14
''\http://www.boobooke.com/bbs/thread-7795-1-1.html'
作者: smart12345    时间: 2010-10-12 11:49
我想学习下LoadRunner测试tuxedo协议,能把你的脚本给我拜读下吗?
作者: smart12345    时间: 2010-10-12 11:50
再回复下




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