1. 1lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", LrsLastArg),创建socket连接
  2. 2lrs_send("socket0", "buf0", LrsLastArg),发送buf中的数据
  3. 3lrs_receive("socket0", "buf1", LrsLastArg),接收服务器返回的数据,并保存到一个buf1
  4. 4lrs_save_param("socket0",NULL,"RecivedData",0,-1),获取服务器返回的数据,并保存到一个参数中RecivedData,最后两个参数,偏移量和length
  5. 5lrs_save_searched_string("socket0",NULL,"RecivedData","LB/BIN=|","RB/BIN=|",1,0,-1),获取服务器返回的数据,并指定了左右边界,过滤出想要的数据,保存到一个参数中,最后三个参数分别为,取值序号、偏移量、保存长度
  6. 6lrs_close_socket("socket0"),关闭链接
  7.  
  8. 设置超时
  9. lrs_set_recv_timeout2
  10. 当定义的buf长度与实际不匹配时,可以将接受数据的时间设置为0,避免等待的情况。
  11.  
  12. send buf0 10
  13. "123"
  14. recv buf1 19

  

自编socket 接口源代码

  1. import java.io.InputStream;
  2. import java.io.OutputStream;
  3. import java.net.ServerSocket;
  4. import java.net.Socket;
  5.  
  6. public class TcpServer {
  7.  
  8. public static void main(String[] args) {
  9. try {
  10. ServerSocket serverSocket = new ServerSocket(8888);
  11. System.out.println("server start...");
  12. while (true){
  13. Socket socket = serverSocket.accept();
  14. InputStream inputStream = socket.getInputStream();
  15. byte[] by = new byte[1024];
  16. int len = inputStream.read(by);
  17. System.out.println("Msg from "+socket.getInetAddress().getHostAddress()+":"+new String(by,0,len));
  18. OutputStream outputStream = socket.getOutputStream();
  19. outputStream.write("|0|SUCCESS|1000913|".getBytes());
  20. outputStream.flush();
  21. }
  22. // socket.close();
  23. }catch (Exception e){
  24. e.printStackTrace();
  25. }
  26. }
  27. }

TcpServer.java

测试脚本源码

  1. #include "lrs.h"
  2.  
  3. Action()
  4. {
  5. //开始事务
  6. lr_start_transaction("tcp");
  7. //建立连接
  8. lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", LrsLastArg);
  9. //开始发送 buf0 数据
  10. lrs_send("socket0", "buf0", LrsLastArg);
  11. //接收并保持一个buf1
  12. lrs_receive("socket0", "buf1", LrsLastArg);
  13. //相当于提去SUCCESS这个值 ,存惨
  14. lrs_save_param("socket0",NULL,"RecivedData",,);
  15.  
  16. //事务判断
  17. //注意 <> 使用参数是尖括号
  18. if(strcmp(lr_eval_string("<RecivedData>"),"SUCCESS")==){
  19.  
  20. //结束事务
  21. lr_end_transaction("tcp", LR_PASS);
  22.  
  23. }else{
  24.  
  25. lr_end_transaction("tcp", LR_FAIL);
  26.  
  27. }
  28.  
  29. return ;
  30. }

sockets 接口测试脚本

  1. Virtual User Script started at : -- ::
  2. Starting action vuser_init.
  3. vuser_init.c(): lrs_startup()
  4. Ending action vuser_init.
  5. Running Vuser...
  6. Starting iteration .
  7. Starting action Action.
  8. Action.c(): Notify: Transaction "tcp" started.
  9. Action.c(): lrs_create_socket(socket0, TCP, ...)
  10. Action.c(): lrs_send(socket0, buf0)
  11. Action.c(): Notify: Parameter Substitution: parameter "num" = ""
  12. Action.c(): lrs_receive(socket0, buf1)
  13. ================================RECEIVED BUFFER================================
  14. "|0|SUCCESS|1000913|"
  15. ===============================================================================
  16. Action.c(): callRecv: bytes were received
  17. Action.c(): lrs_save_param(socket0, null, RecivedData, , )
  18. Action.c(): Notify: Saving Parameter "RecivedData = SUCCESS".
  19. Action.c(): Notify: Parameter Substitution: parameter "RecivedData" = "SUCCESS"
  20. Action.c(): Notify: Transaction "tcp" ended with "Pass" status (Duration: 0.0316).
  21. Action.c(): lrs_close_socket(socket0)
  22. Ending action Action.
  23. Ending iteration .
  24. Ending Vuser...
  25. Starting action vuser_end.
  26. vuser_end.c(): lrs_cleanup()
  27. Ending action vuser_end.
  28. Vuser Terminated.

log

data.ws需要添加这几行

send buf0 10
"<num>"
recv buf1 19

socket_tcp协议_loadrunner测试的更多相关文章

  1. 协议并发测试工具 BoHexTest

    BoHexTest V1.0.3 1.添加连接LOG打印2.优化代理及并发策略 大小: 1074688 字节修改时间: 2017年10月3日, 10:24:26MD5: EBAE5A17F7F5ED0 ...

  2. 软件测试基础Ⅲ(osi7层协议,测试模型,LoadRunner组件,软件质量模型)

    osi7层开放式系统互连网络模型 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的 ...

  3. TCP/IP协议,TCP与平台通信,通讯协议压力测试(python)

    最近的项目来了一个需求,要求测试tcp网关通讯协议: 1.液压井盖通过TCP/IP TCP与平台通信: 2.硬件定期发送心跳包(10S)给平台,是平台与硬件保持长连接: 3.每台硬件有一个12字节的唯 ...

  4. 游戏协议模拟测试工具(TcpEngine)使用简介

    功能介绍 在有的网络开发需要走二进制流协议场景,比如网络游戏开发,在开发阶段,前端和后端协商好协议后就分别开发.在开发写代码的时候,有时需要对端发送一条完整的协议过来触发一下自己的代码,进行单步调试或 ...

  5. EPF:一种基于进化、协议感知和覆盖率引导的网络协议模糊测试框架

    本文系原创,转载请说明出处:from 信安科研人 目录 实验 工具的安装 1.安装AFL++ 2.安装epf 对IEC104协议库进行fuzz 实验准备 使用AFL++中的编译器插桩 开始fuzz 原 ...

  6. jmeter进行https协议的测试

    一.HTTPS和HTTP的区别     超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和 ...

  7. linux arping-通过发送ARP协议报文测试网络

    博主推荐:更多网络测试相关命令关注 网络测试  收藏linux命令大全 arping命令是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址.能 ...

  8. 复刻smartbits的国产网络测试工具minismb-如何测试协议限速

    复刻smartbits的网络性能测试工具MiniSMB,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数和最 ...

  9. loadrunner测试TCP协议服务器性能

    loadrunner测试TCP协议服务器性能 . 性能loadrunner测试c 最近对服务器的性能感兴趣,于是开始研究了一阵子loadrunner如何做采用TCP协议交互的服务器的性能测试,对loa ...

随机推荐

  1. C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)

    这些是C#中的条件编译符号.这些指令我在项目中遇到过,查过网络,问过人(当然,既不认识大牛,也不认识小牛,所以没什么收获).今天翻看一本资料,有提到这个方面的东西,所以写下来和能看到这篇文章的人一起学 ...

  2. C# 缓存工厂类

    描 述:缓存工厂类 /// <summary> /// 描 述:缓存工厂类 /// </summary> public class CacheFactory { /// < ...

  3. iOS dyld: Library not loaded 报错解决

    Xcode 用的是10.1 版本打的苹果包在 ios系统10.0 以上可以正常运行 但是系统9.3的手机安装后直接运行就崩溃 后来插上电脑联调 报错 dyld: Library not loaded: ...

  4. from表单提交之前数据判空

    在input标签中写onclick事件,不管返回是真是假都会继续提交表单. 使用onsubmit事件 <form action="login.html" method='po ...

  5. javascript设计模式系列二-封装

    JavaScript封装: var Book = function (id, name, price) { this.id = id, this.name = name, this.price = p ...

  6. s3c6410 RomCode文档读后总结

    最近无意中看到一篇关于s3c6410 RomCode的介绍,结合自己的经验,做个总结. 首先贴张图,具体描述下该芯片的启动方式及具体流程. 因为s3c6410的板子多数是从SD或者Nand方式启动,重 ...

  7. arm平台的调用栈回溯(backtrace)

    title: arm平台的调用栈回溯(backtrace) date: 2018-09-19 16:07:47 tags: --- 介绍 arm平台的调用栈与x86平台的调用栈大致相同,稍微有些区别, ...

  8. python3 用户登录验证的小功能

    用户登录验证,记录一下,还需要修改黑名单不合理 #!/usr/bin/env python3 ''' 需求:编写登录接口 1.输入用户名和密码 2.验证用户密码成功后输出欢迎消息 3.3次没有验证通过 ...

  9. 领扣-无重复字符的最长子串-Python实现

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  10. python 数据类型、进制转换

    数据类型 存储单位 最小单位是bit,表示二进制的0或1,一般写作b 最小的存储单位是字节,用byte表示,1B = 8b 1024B = 1KB 1024KB = 1MB 1024MB = 1GB ...