loadrunner socket协议问题归纳(2)
编写步骤
1.建立与服务端的连接
rc=lrs_create_socket(“socket0”,”TCP”,”LocalHost=0”,”RemoteHost=127.0.0.1:8808”,LrsLastArg);
服务端地址和端口号
连接是否成功?
rc=0 表示建立连接成功
2.发送报文和接收报文
Lrs_send(“socket0”,”buf0”,LrsLastArg);
//由socket0 通道发送buf0里的数据
Lrs_receive(“socket0”,”buf1”,LrsLastArg);
//将socket通道返回的数据存放到buf1中
3.关闭连接
Lrs_close_socket(“socket0”);
//关闭socket0通道
完整脚本参考:
Action()
{
char*recvbuf;
intrecvlen=0;
intrc;
lr_start_transaction("Trans_socket");//事务
lrs_set_recv_timeout(60,0);//接收超时时间
lr_start_transaction("Conn_socket");
rc= lrs_create_socket("socket0", "TCP","LocalHost=0", "RemoteHost=127.0.0.1:8808",LrsLastArg); //RemoteHost处填入被测程序所在服务器IP
lr_output_message("rc=%d",rc);
if(rc != 0 ) {
lr_end_transaction("Conn_socket",LR_FAIL);
lr_end_transaction("Trans_socket", LR_FAIL);
return0;
}else{
lr_end_transaction("Conn_socket",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==304)
lr_end_transaction("Trans_socket",LR_PASS);
else
lr_end_transaction("Trans_socket", LR_FAIL); //判断返回信息的长度是否正确,recvlen处填入预期返回信息的长度
lrs_close_socket("socket0");
return0;
}
关联函数介绍
lrs_save_searched_string();
在静态或接收到的缓冲区中搜索出现的字符串,将出现字符串的缓冲区部分保存到参数中
实例1:
原始数据为:"0|普通指令下达成功|10000031|"。
lrs_save_searched_string("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",2,0,-1);
输出结果: "wtbh =10000013" 。在以左边界和右边界第2次出现的地方,获取左右边界里面的所有的值.
实例2:
原始数据为:"0|普通指令下达成功|10000031|"。
lrs_save_searched_string("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",1,0,-1);
输出结果:"wtbh = 普通指令下达成功",在以左边界和右边界第1次出现的地方,获取左右边界里面的所有的值
实例3:
原始数据为:"0|普通指令下达成功|10000031|"
lrs_save_searched_string("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",1,4,-1);
• 输出结果:"wtbh = 指令下达成功",在以左边界和右边界第1次出现的地方,获取左边界为起点的第4个字符后面的数据。
2.lrs_save_param();
将静态或接收到的缓冲区(或缓冲区部分)保存到参数中
实例:
lrs_save_param("socket0","buf1","wtbh",34, 8);
从数据包中第34个字符开始连续取8个字符。
loadrunner socket协议问题归纳(2)的更多相关文章
- loadrunner socket协议问题归纳(6)
首先让我们先看一下loadrunner- winsock 函数 一览表: lrs_accept_connection 接受侦听套接字连接 lrs_close_socket 关闭打开的套接字 ...
- loadrunner socket协议问题归纳(3)
摘要:通过实例讲解loadrunner中的socket协议性能测试的一种测试方法,如何不依赖loadrunner既定规则,自行控制收发数据包 关键词:Loadrunner,socket,自行控制,收发 ...
- loadrunner socket协议问题归纳(0)
一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 soc ...
- loadrunner socket协议问题归纳(1)
前段时间测了loadrunner直接发送报文到socket上的性能测试.在此,稍微回顾整理下. 与socket通讯,有两种方式,一种是建立长连接,建立后,不停的发送,接收.另外一种是建立短连接,建立连 ...
- loadrunner socket协议问题归纳(5)
获取服务器的返回值,可以用web_reg_save_param函数,该参数最好放到: 语法: int web_reg_save_param(const char *ParamName, <lis ...
- loadrunner socket协议问题归纳(4)---buffer接收变长和定长的数据
测试场景:聊天系统 用户登录后,要先向服务器发送用户名,然后可以发送聊天信息,同时也可以接受聊天信息. 如果接受的字符为定长时,可以设定接受长度.recv buf2 66 #include " ...
- Loadrunner socket协议lrs_receive函数接收到返回数据包 仍然等待服务器返回--解决
前段时间在使用loadrunner socket协议发送数据包到到服务器,使用lrs_receive接收服务器应答数据包,已经接收到数据包,但LR仍然在等待服务器端返回,而且日志打印显示每次接收返回都 ...
- LoadRunner编写Socket协议脚本方法
本文主要介绍使用LoadRunner手工编写Windows Socket协议测试脚本的方法. 通过LoadRunner编写Windows Socket协议测试脚本,总体说来,比较简单.就像把大象放进冰 ...
- Loadrunner 中socket协议RecvBuffer接收到数据长度为空
socket通讯,有两种方式,一种是建立长连接(TCP),建立后,不停的发送,接收.另外一种是建立短连接(UDP),建立连接,发送报文,接收响应,关闭连接.两种方式 server的开销不同. 今天出现 ...
随机推荐
- office365离线安装
office版本是在线安装,每次安装比较麻烦,所以还是离线安装合适,这里推荐一篇博文https://www.cnblogs.com/Devopser/p/7919245.html 但是由于部署工具变化 ...
- Linux安装部署
Linux桌面发行版 UbuntuCentOSRed heat LinuxOracle Linux 一.系统安装 1.系统分区 若手动分区swap和根分区必须创建,推荐创建boot分区. /----- ...
- Mysql存中文字符出错:Incorrect string value: '\xC2\xE9\xD7\xED\解决方法
1.数据库连接设置编码格式为UTF-8 jdbc:mysql://localhost:3306/jbpm_test?useUnicode=true&characterEncoding=UTF- ...
- 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题
最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...
- 我的 Delphi 学习之路 —— Delphi 助手的安装
标题:我的 Delphi 学习之路 -- Delphi 助手的安装 作者:断桥烟雨旧人伤 Delphi 助手的安装 CnWizards 类似于 VS 中的番茄助手,在编写 Delphi 代码时帮助极大 ...
- FreeRTOS内存管理
简介 Freertos的内存管理分别在heap_1.c,heap_2.c,heap_3.c,heap_4.c,heap_5.c个文件中,选择合适的一种应用于嵌入式项目中即可. 本文的图片中 红色部分B ...
- MFC中两个对话框之间数据传递
以下是在网上参考的一篇文章,网址:https://blog.csdn.net/foreverhuylee/article/details/21707197 这里有两种情况, 第一种情况是: (在一个基 ...
- 20155226 实验四 Android开发基础
20155226第四次实验报告 一.实验内容及步骤 Android Stuidio的安装测试: 安装 Android Stuidio 完成Hello World, 要求修改res目录中的内容,Hell ...
- 20155318 《Java程序设计》实验二 (Java面向对象程序设计)实验报告
20155318 <Java程序设计>实验二 (Java面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...
- 20155330 实验三 敏捷开发与XP实践
20155330 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程. ...