socket_tcp协议_loadrunner测试
- 1、lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", LrsLastArg),创建socket连接
- 2、lrs_send("socket0", "buf0", LrsLastArg),发送buf中的数据
- 3、lrs_receive("socket0", "buf1", LrsLastArg),接收服务器返回的数据,并保存到一个buf1中
- 4、lrs_save_param("socket0",NULL,"RecivedData",0,-1),获取服务器返回的数据,并保存到一个参数中RecivedData,最后两个参数,偏移量和length
- 5、lrs_save_searched_string("socket0",NULL,"RecivedData","LB/BIN=|","RB/BIN=|",1,0,-1),获取服务器返回的数据,并指定了左右边界,过滤出想要的数据,保存到一个参数中,最后三个参数分别为,取值序号、偏移量、保存长度
- 6、lrs_close_socket("socket0"),关闭链接
- 设置超时
- lrs_set_recv_timeout2
- 当定义的buf长度与实际不匹配时,可以将接受数据的时间设置为0,避免等待的情况。
- send buf0 10
- "123"
- recv buf1 19
自编socket 接口源代码
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class TcpServer {
- public static void main(String[] args) {
- try {
- ServerSocket serverSocket = new ServerSocket(8888);
- System.out.println("server start...");
- while (true){
- Socket socket = serverSocket.accept();
- InputStream inputStream = socket.getInputStream();
- byte[] by = new byte[1024];
- int len = inputStream.read(by);
- System.out.println("Msg from "+socket.getInetAddress().getHostAddress()+":"+new String(by,0,len));
- OutputStream outputStream = socket.getOutputStream();
- outputStream.write("|0|SUCCESS|1000913|".getBytes());
- outputStream.flush();
- }
- // socket.close();
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- }
TcpServer.java
测试脚本源码
- #include "lrs.h"
- Action()
- {
- //开始事务
- lr_start_transaction("tcp");
- //建立连接
- lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", LrsLastArg);
- //开始发送 buf0 数据
- lrs_send("socket0", "buf0", LrsLastArg);
- //接收并保持一个buf1
- lrs_receive("socket0", "buf1", LrsLastArg);
- //相当于提去SUCCESS这个值 ,存惨
- lrs_save_param("socket0",NULL,"RecivedData",,);
- //事务判断
- //注意 <> 使用参数是尖括号
- if(strcmp(lr_eval_string("<RecivedData>"),"SUCCESS")==){
- //结束事务
- lr_end_transaction("tcp", LR_PASS);
- }else{
- lr_end_transaction("tcp", LR_FAIL);
- }
- return ;
- }
sockets 接口测试脚本
- Virtual User Script started at : -- ::
- Starting action vuser_init.
- vuser_init.c(): lrs_startup()
- Ending action vuser_init.
- Running Vuser...
- Starting iteration .
- Starting action Action.
- Action.c(): Notify: Transaction "tcp" started.
- Action.c(): lrs_create_socket(socket0, TCP, ...)
- Action.c(): lrs_send(socket0, buf0)
- Action.c(): Notify: Parameter Substitution: parameter "num" = ""
- Action.c(): lrs_receive(socket0, buf1)
- ================================RECEIVED BUFFER================================
- "|0|SUCCESS|1000913|"
- ===============================================================================
- Action.c(): callRecv: bytes were received
- Action.c(): lrs_save_param(socket0, null, RecivedData, , )
- Action.c(): Notify: Saving Parameter "RecivedData = SUCCESS".
- Action.c(): Notify: Parameter Substitution: parameter "RecivedData" = "SUCCESS"
- Action.c(): Notify: Transaction "tcp" ended with "Pass" status (Duration: 0.0316).
- Action.c(): lrs_close_socket(socket0)
- Ending action Action.
- Ending iteration .
- Ending Vuser...
- Starting action vuser_end.
- vuser_end.c(): lrs_cleanup()
- Ending action vuser_end.
- Vuser Terminated.
log
data.ws需要添加这几行
send buf0 10
"<num>"
recv buf1 19
socket_tcp协议_loadrunner测试的更多相关文章
- 协议并发测试工具 BoHexTest
BoHexTest V1.0.3 1.添加连接LOG打印2.优化代理及并发策略 大小: 1074688 字节修改时间: 2017年10月3日, 10:24:26MD5: EBAE5A17F7F5ED0 ...
- 软件测试基础Ⅲ(osi7层协议,测试模型,LoadRunner组件,软件质量模型)
osi7层开放式系统互连网络模型 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的 ...
- TCP/IP协议,TCP与平台通信,通讯协议压力测试(python)
最近的项目来了一个需求,要求测试tcp网关通讯协议: 1.液压井盖通过TCP/IP TCP与平台通信: 2.硬件定期发送心跳包(10S)给平台,是平台与硬件保持长连接: 3.每台硬件有一个12字节的唯 ...
- 游戏协议模拟测试工具(TcpEngine)使用简介
功能介绍 在有的网络开发需要走二进制流协议场景,比如网络游戏开发,在开发阶段,前端和后端协商好协议后就分别开发.在开发写代码的时候,有时需要对端发送一条完整的协议过来触发一下自己的代码,进行单步调试或 ...
- EPF:一种基于进化、协议感知和覆盖率引导的网络协议模糊测试框架
本文系原创,转载请说明出处:from 信安科研人 目录 实验 工具的安装 1.安装AFL++ 2.安装epf 对IEC104协议库进行fuzz 实验准备 使用AFL++中的编译器插桩 开始fuzz 原 ...
- jmeter进行https协议的测试
一.HTTPS和HTTP的区别 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和 ...
- linux arping-通过发送ARP协议报文测试网络
博主推荐:更多网络测试相关命令关注 网络测试 收藏linux命令大全 arping命令是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址.能 ...
- 复刻smartbits的国产网络测试工具minismb-如何测试协议限速
复刻smartbits的网络性能测试工具MiniSMB,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数和最 ...
- loadrunner测试TCP协议服务器性能
loadrunner测试TCP协议服务器性能 . 性能loadrunner测试c 最近对服务器的性能感兴趣,于是开始研究了一阵子loadrunner如何做采用TCP协议交互的服务器的性能测试,对loa ...
随机推荐
- C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)
这些是C#中的条件编译符号.这些指令我在项目中遇到过,查过网络,问过人(当然,既不认识大牛,也不认识小牛,所以没什么收获).今天翻看一本资料,有提到这个方面的东西,所以写下来和能看到这篇文章的人一起学 ...
- C# 缓存工厂类
描 述:缓存工厂类 /// <summary> /// 描 述:缓存工厂类 /// </summary> public class CacheFactory { /// < ...
- iOS dyld: Library not loaded 报错解决
Xcode 用的是10.1 版本打的苹果包在 ios系统10.0 以上可以正常运行 但是系统9.3的手机安装后直接运行就崩溃 后来插上电脑联调 报错 dyld: Library not loaded: ...
- from表单提交之前数据判空
在input标签中写onclick事件,不管返回是真是假都会继续提交表单. 使用onsubmit事件 <form action="login.html" method='po ...
- javascript设计模式系列二-封装
JavaScript封装: var Book = function (id, name, price) { this.id = id, this.name = name, this.price = p ...
- s3c6410 RomCode文档读后总结
最近无意中看到一篇关于s3c6410 RomCode的介绍,结合自己的经验,做个总结. 首先贴张图,具体描述下该芯片的启动方式及具体流程. 因为s3c6410的板子多数是从SD或者Nand方式启动,重 ...
- arm平台的调用栈回溯(backtrace)
title: arm平台的调用栈回溯(backtrace) date: 2018-09-19 16:07:47 tags: --- 介绍 arm平台的调用栈与x86平台的调用栈大致相同,稍微有些区别, ...
- python3 用户登录验证的小功能
用户登录验证,记录一下,还需要修改黑名单不合理 #!/usr/bin/env python3 ''' 需求:编写登录接口 1.输入用户名和密码 2.验证用户密码成功后输出欢迎消息 3.3次没有验证通过 ...
- 领扣-无重复字符的最长子串-Python实现
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- python 数据类型、进制转换
数据类型 存储单位 最小单位是bit,表示二进制的0或1,一般写作b 最小的存储单位是字节,用byte表示,1B = 8b 1024B = 1KB 1024KB = 1MB 1024MB = 1GB ...