本交易为POS消费交易,报文类型为8583通讯报文,一般在银联通讯方面,金融交易方面用的比较多,如下为手动编写我们的测试脚本,并非录制而成,在此类直接与接口交互的性能测试项目中,经常会用到报文组装、拼接等工作,这里记录想整个数据的解析拼装过程以及我们测试思路
一:pos交易(8583协议)报文处理部分:
必须熟悉不同交易每个域的划分及每个域的数据长度,具体详细报文结构不做具体描述,每个报文有其具体规则,解析出每个域的数据
如下报文全部调试成功,另外需要对卡号,交易金额,流水号等数据进行处理,需要对MAC校验进行额外处理,具体不详述
①:发送报文获取:
Ø 获取到POS机消费报文,我这里每个域使用不同颜色区分开来(部分数据涉及公司私密,已做小部分更改,不过不影响报文的分析及阅读):
011F60000400006031003113060200702006c420c09a11166214441000010111000000000000000001003394071000110012cdf43eb3cb55b41a257c51c26eaef80138jnehnd98adac160195349a7127e126f03030303030363232383433313030303534313130303233313536d8uejeiuw28ce80526100000000000000983i3u33urhftb2fe53af9d5d9f2701809f1111111111111198987a0100000981382e4270769f3704ac8cbd619f3602036f950500000000009a031610199c01009f02060000000000015f2a02015682027c009f1a0201569f03060000000000009f3303e0e1c89f34030000009f3501229f1e0830319999999996358408a00000030oieieieief090200309f4104000011940014220000300006013437393435353436
注:在这里每个域区分开来后,就可以直接把每个域的数据提取出来,在Loadrunner中进行16进制转换。
②:报文解析(解析出每个域的数据):
Ø 对上面的报文进行bitmap解析(使用bitmap工具解析每个域数据),上面消费报文解析出的每个域的数据如下所示:
报文长度:011F
TPDU: 6000040000
报文头: 603100311306
MSGID: 0200 --消息类型,0200指消费交易
BITMAP: 702006c420c09a11 --位图,确认后面所有使用的域,记录哪些域会出现在报文中
Bit 2: 6214441000010111 --主账号
Bit 3: 000000 --处理代码,交易类型,000000代表消费,n6
Bit 4: 000000000001 --交易金额,单位为分,n12
Bit 11: 003394 --交易流水号,n6
Bit 22: 071 --