测试socket协议的loadrunner脚本(8583协议)8583报文解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Pos机收单系统性能压力测试实战

Socket协议测试Loadrunner脚本+8583报文解析Action:

#define _EOF '#'

#include "lrs.h"

Action(){char *recvbuf;

int recvlen=0;

int rc;

lr_start_transaction("Trans_1");

lrs_set_recv_timeout (60,0);

lr_start_transaction("Conn_1");

rc=lrs_create_socket("socket0","TCP","LocalHost=0","RemoteHost=

192.168.

205.150:7001",LrsLastArg);//RemoteHost处填入被测程序所在服务器IP

lr_output_message("%d",rc);

if (rc != 0 ) {

lr_end_transaction("Conn_1", LR_FAIL);

lr_end_transaction ("Trans_1", LR_FAIL);

return 0;}lr_end_transaction("Conn_1", LR_PASS);//判断socket是否链接成功的事务lr_rendezvous("集合点");

lrs_send("socket0","buf0", LrsLastArg);

lrs_receive ("socket0","buf1",LrsLastArg);

lrs_get_last_received_buffer("socket0",&recvbuf,&recvlen);

if(recvlen==130)

lr_end_transaction("Trans_1", LR_PASS);

else

lr_end_transaction ("Trans_1", LR_FAIL);//判断返回信息的长度是否正确,recvlen处填入预期返回信息的长度

lrs_close_socket("socket0");

return 0;}Data.ws:

;WSRData 2 1

send buf0 211

"\x00\xD1"//报文xx

"\x60\x00\x09\x00\x00"//TPDU信息

"\x4C\x52\x49\x00\x1C\x00\x00\x00\x21\x58\x77\x96\x98\x00\x00\x00\x21\x 58\x77\x09\x79\x58\x00\x09\x49\x00\x06\x00\x00\x00\x22\x00\x30"//主被叫号码

"\x01\x00"

"\x02\x00"//信息类型

"\x70\x38\x05\x80\x30\xC0\x80\x19"//位图

"\x19\x09\x55\x10\x04\x91\x00\x01\x35\x38\x52"//卡号

"\x00\x00\x00"//处理代码

"\x00\x00\x00\x00\x02\x00"//交易金额

"\x00\x00\x14"//系统跟踪号

"\x16\x41\x32"//本地交易时间

"\x05\x20"//本地交易日期

"\x00\x22"//服务点输入方式

"\x00\x09"//NETWORK INTERNATIONAL IDENTIFIEER

"\x14"//服务点条件代码

"\x37\x09\x55\x10\x04\x91\x00\x01\x35\x38\x52\xD0\x00\x02\x20\x36\x00\x 60\x00\x00"

//二磁道数据

"\x01\x04\x99\x95\x51\x00\x49\x10\x00\x13\x53\x85\x2D\x15\x61\x56\x00\x 00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x21\x41\x41\x40\x00\x01\xD0\x00\x00\ x00\x00\x00\x0D\x00\x00\x00\x00\x00\x00\xD0\x00\x00\x00\x36\x00\x60\x00"//三磁道数据

"\x32\x30\x31\x30\x30\x36\x30\x31"//收卡单位终端标识码

"\x30\x30\x34\x31\x31\x30\x30\x34\x35\x31\x31\x30\x30\x31\x32"//收卡商户定义码"\x01\x56"//交易货币代码

"\x00\x00"//RESERVED PRIVATE

"\x00\x15\x30\x30\x30\x30\x30\x31\x30\x30\x31\x30\x30\x30\x30\x30\x32"

//RESERVED PRIVATE

"\x61\x54\x70\xE7\x33\x6D\xB5\x48"//消息认证码

recv buf1 130

-1

发送报文原文:

00DCC030C852D852D4001D0000D035470E7336DB548

是16进制的,每两位代表一个字符,所以在Loadrunner里面发送数据的应该每两位前面家转义符“\x”来代表16进制。比如“\x00”代表16进制的00。处理好以后,如同上面代码里的buf0。

附:

发送报文的8583解析

00D1--报文xx

600900--TPDU信息

4CC0--主被叫号码

0100

0200 --mti信息类型2

30C08019--bitmap位图10

353852 --pan21

000 --processing code处理代码24

--amount交易金额30

0014 --SYSTEM TRACE AUDIT NUMBER系统跟踪号33

164132 --TIME, LOCAL TRANSACTION本地交易时间36

0520 --DATE, LOCAL TRANSACTION本地交易日期38

0022 --POINT OF SERVICE ENTRY MODE服务点输入方式40

0009 --NETWORK INTERNATIONAL IDENTIFIEER 42

14 --POINT OF SERVICE CONDITION CODE服务点条件代码43

353852D0000 --TRACK 2 DATA二磁道数据852D4001D0000D0

--TRACK 3 DATA三磁道数据117

363031--CARDACCEPTORTERMINALIDENTIFICACION收卡单位终端标识码125 2--CARDACCEPTORIDENTIFICATIONCODE收卡商户定义码140

相关文档
最新文档