性能测试基础-SOCKET协议用例

1.首先在进行性能测试的时候,我们要了解软件的通信协议是什么,我们使用什么协议,如何去模拟。SOCKET协议主要应用于在C/S模式的系统。

作者本人已当初做过的C/S架构的系统做的脚本录制,在上面做脚本的参数化以及优化工作。脚本如下:

#include "lrs.h"

#include <sub1.h>

#include <sub2.h>//包含了2个自定义的C函数。LR不支持C++的函数库。C++函数需要做修改

Action()

{

unsigned char cLine[2048]={0};

unsigned char cOut[2048]={0};

unsigned char cOut2[2048]={0};

unsigned char retu1[2048]={0};

int len = 0;

int len1 = 0;

int rc,i,re;

lr_start_transaction("Conn_socket");

rc =  lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:22222",  LrsLastArg);//创建SOCKET连接

//lr_output_message("rc=%d",rc);

//连接成功返回判断

if (rc != 0 ) {

lr_end_transaction("Conn_socket", LR_FAIL);

return 0;

}

lr_end_transaction("Conn_socket", LR_PASS);

lr_start_transaction("sender");

strcpy(cLine,lr_eval_string("<shuju>" ));//LR参数传递入C环境

len = strlen((char*)cLine);//或者字符串的长度

//字符串转ASCII码

AsciiToHex(cLine,cOut,len);

//字节数组cOut的长度:

len1 = strlen((char*)cLine)/2;

lrs_save_param_ex("socket0", "user", (char *)cOut, 0, len1,"ascii", "sender0");

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

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

lrs_save_param( "socket0", LRS_LAST_RECEIVED, "Parame1", 0, -1 );

strcpy(retu1,lr_eval_string("<Parame1>"));

re = lrs_get_last_received_buffer_size("socket0");

//ASCII码转字符串

HexToAscii( retu1,cOut2,re);

lr_output_message("return is %d",re);

if( cOut2 == cLine )//对返回值做判断

lr_end_transaction("sender", LR_PASS);

else

lr_end_transaction ("sender", LR_FAIL);

lrs_close_socket("socket0");

return 0;

}

时间: 2024-10-26 14:13:59

性能测试基础-SOCKET协议用例的相关文章

自行控制loadrunner的socket协议性能测试 (转)

一前言 二任务的提出 三实现方案讨论 四技术要点讲解 如何开始录制一个最简单的收发数据包脚本 写日志文件 一行一行读数据包文件 字符串转换为十六进制数据包 发送自己定义的数据包 接收数据包到自定义缓冲区 从自定义缓冲区读出数据 如何释放自定义缓冲区 如何根据数据包返回计算为十进制数 五小节 摘要:通过实例讲解loadrunner中的socket协议性能测试的一种测试方法,如何不依赖loadrunner既定规则,自行控制收发数据包 关键词:Loadrunner,socket,自行控制,收发数据包

LoadRunner性能测试基础知识问答

Q1:什么是负载测试?什么是性能测试? A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量. 性能测试:指在一定的约束条件下(指定的软件.硬件.网络环境等),确定系统所能承受的最大负载压力. Q2.性能测试包含了哪些测试(至少举出3种) A2:性能测试包含负载测试.压力测试.大数据量测试.疲劳强度测试等. Q

loadrunner socket协议问题归纳(3)

摘要:通过实例讲解loadrunner中的socket协议性能测试的一种测试方法,如何不依赖loadrunner既定规则,自行控制收发数据包 关键词:Loadrunner,socket,自行控制,收发数据包 一.前言 用过loadrunner的socket协议进行性能测试的同学都知道,只需要录制短短的几句命令,就可以实现socket的链接.收发数据包和关闭链接,一时大爽,不过紧跟着的就是没完没了的折磨.刚开始参数化数据包发送接收都行,慢慢的发现,很多情况下,收发数据包的长度和内容都是不可确定的,

jmeter性能测试基础实战

一.前言 “纸上得来终觉浅,绝知此事要躬行.”学习了理论知识,要实操起来.本文主要介绍jmeter性能测试基础实战. 二.Jmeter 性能测试基础实战 1.测试需求:测试20个用户访问https://www.cnblogs.com/huainanhai/ 在负载达到30 QPS时的平均响应时间. QPS: Query Per Second每秒查询率:是一台查询服务器每秒能够处理的查询次数.在因特网上,作为域名系统服务器的性能经常用每秒查询率来衡量. 2.测试步骤: 第一步:添加线程组 线程组主

【读书笔记】性能测试基础

读书笔记:<零成本实现Web性能测试>第1~3章随手记 第1章 性能测试基础 性能测试的基本流程: 1.明确性能测试需求 2.制定性能测试方案 性能测试方案应该详尽地描述如何进行性能测试,其中应该至少包括: 1)测试背景 2)测试目的 3)测试范围           4)测试进入条件           5)测试退出条件 6)测试指标要求 7)测试策略 8)测试时机 9)测试风险 10)测试资源      3.编写性能测试案例 4.执行性能测试案例 5.分析性能测试结果 6.生成性能测试报告

性能测试基础-开门篇3(LR常用函数介绍)

LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("1024");//设置1行数据最大长度,经常会使用到 web_reg_save_param("SupplierId", "LB=SupplierId>", "RB=</b:SupplierId", "SEARCH=BODY&

loadrunner使用socket协议来实现客户端对服务器产生压力实例。(通过发送心跳包,达到连接多个客户端的目的)

#include "lrs.h" vuser_init(){ char *ip; int handler; //编写获取LR分配的Vuser IP函数,将IP保存在ip变量中. ip=lr_get_vuser_ip(); if(ip) lr_vuser_status_message("the ip address is %s:",ip); else lr_vuser_status_message("IP spooler disabled"); /

LoadRunner编写Socket协议脚本方法

本文主要介绍使用LoadRunner手工编写Windows Socket协议测试脚本的方法. 通过LoadRunner编写Windows Socket协议测试脚本,总体说来,比较简单.就像把大象放进冰箱一样,总共分三步: 第一步:把冰箱门打开 //建立到服务端的连接 rc =    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:89

loadrunner socket协议问题归纳(0)

一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 socket是操作系统中I/O系统的网络延伸部分,它扩展了操作系统的基本I/O到网络通信,使进程和机器之间的通信成为可能.如果想完全地理解socket在Loadrunner中如何工作的,熟悉一些关于它的历史会很有帮助. 当前常用的socket,最早起源于BSD UNIX类的操作系统.在UNIX系统上,比如BSD,把对网络的支持加入操作系统,以一