LR中点鼠标做关联(winsock协议)
转自:http://blog.csdn.net/zeeslo/article/details/1661791
这个函数保存buffer中的数据到一个参数里。这个函数是用来在脚本中做关联的。
前两个参数是为了指定特定的参数。
在指定活动的socket和buffer之后,需要指定一个参数来保存数据。指定偏移量来显示buffer中数据的偏移量和数据的长度。
保存了参数之后,可以在脚本和数据文件使用它,代替所有需要替代的值。替换时要用选项中的定义的符号来引用。
注意:要从buffer中保存一个编码过的数据到参数中,要用lrs_save_param_ex函数。
|
lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=192.168.1.114:5560", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_create_socket("socket1", "TCP", "LocalHost=0", "RemoteHost=192.168.1.114:5560", LrsLastArg);
lrs_send("socket1", "buf2", LrsLastArg);
lrs_receive("socket1", "buf3", LrsLastArg);
|
;WSRData 2 1
send buf0 50
"OPERTYPE(LOGIN)ACCOUNTNAME(admin)PASSWORD(admin)"
recv buf1 155
"DATALEN{{155}}000000USERID{{90}}USERNAME{{DMS"
"/xcf/xb5/xcd/xb3"
"WEB"
"/xb2/xe9/xd1/xaf/xd5/xca/xbb/xa7"
"}}USERDESCRIBE{{"
"/xba/xfe/xd6/xdd/xb5/xe7/xc1/xa6/xbe/xd6"
"//DMS"
"/xcf/xb5/xcd/xb3"
"WEB"
"/xb2/xe9/xd1/xaf/xd5/xca/xbb/xa7"
"}}DEPARTNAME{{"
"/xce/xb4/xd6/xaa"
"}}ADMIN{{0}}CLIENTSESSIONID{{2}}"
send buf2 53
"CLIENTSESSIONID(2)OPERTYPE(INITDEPARTLIST)"
recv buf3 683
"DATALEN{{683}}000000XMLDATA{{<?xml version=/"1.0/" encoding=/"GB2312/"?>/n"
"<!DOCTYPE DepartList>/n"
"<DepartList>/n"
………………………………………………………………………………………………
这里就省略了些数据。反正也看着也晕乎乎的。
|
Virtual User Script started
Starting action vuser_init.
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action.
Action.c(4): lrs_create_socket(socket0, TCP, ...)
Action.c(6): lrs_send(socket0, buf0)
Action.c(8): lrs_receive(socket0, buf1)
Action.c(11): lrs_create_socket(socket1, TCP, ...)
Action.c(13): lrs_send(socket1, buf2)
Action.c(15): lrs_receive(socket1, buf3)
Action.c(15): Mismatch (expected 683 bytes, 42 bytes actually received)
Action.c(17): lrs_create_socket(socket2, TCP, ...)
Action.c(19): lrs_send(socket2, buf4)
Action.c(21): lrs_receive(socket2, buf5)
Action.c(21): Mismatch (expected 34143 bytes, 42 bytes actually received)
Action.c(23): lrs_create_socket(socket3, TCP, ...)
Action.c(25): lrs_send(socket3, buf6)
Action.c(27): lrs_receive(socket3, buf7)
Action.c(27): Mismatch (expected 100 bytes, 42 bytes actually received)
Action.c(29): lrs_create_socket(socket4, TCP, ...)
Action.c(31): lrs_send(socket4, buf8)
Action.c(33): lrs_receive(socket4, buf9)
Action.c(33): Mismatch (expected 134 bytes, 42 bytes actually received)
Action.c(35): lrs_send(socket4, buf10)
Action.c(38): lrs_receive(socket4, buf11)
Action.c(38): Mismatch (expected 17520 bytes, 42 bytes actually received)
Action.c(41): lrs_create_socket(socket5, TCP, ...)
Action.c(43): lrs_send(socket5, buf12)
Action.c(45): lrs_receive(socket5, buf13)
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.
|
DATALEN{{155}}000000USERID{{90}}USERNAME{{DMS/xcf/xb5/xcd/xb3WEB/xb2/xe9/xd1/xaf/xd5/xca/xbb/xa7}}USERDESCRIBE{{/xba/xfe/xd6/xdd/xb5/xe7/xc1/xa6/xbe/xd6//DMS/xcf/xb5/xcd/xb3WEB/xb2/xe9/xd1/xaf/xd5/xca/xbb/xa7}}DEPARTNAME{{/xce/xb4/xd6/xaa}}ADMIN{{0}}CLIENTSESSIONID{{2}} |
lrs_save_searched_string( "socket0", LRS_LAST_RECEIVED, "Parameter3", NULL, NULL, -1, 152, 1 ); |
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Parameter4","LB/BIN=SESSIONID{{", "RB/BIN=}}", 1, 0, -1); |
lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=192.168.1.114:5560", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_save_searched_string("socket0", LRS_LAST_RECEIVED, "Parameter1", "LB/BIN=SESSIONID{{", "RB/BIN=}}", 1, 0, -1);
lr_output_message("小样还抓不到你!你不就是: %s嘛!",lr_eval_string("{Parameter1}")); lrs_create_socket("socket1", "TCP", "LocalHost=0", "RemoteHost=192.168.1.114:5560", LrsLastArg);
lrs_send("socket1", "buf2", LrsLastArg);
lrs_receive("socket1", "buf3", LrsLastArg);
|
Virtual User Script started
Starting action vuser_init.
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action.
Action.c(4): lrs_create_socket(socket0, TCP, ...)
Action.c(6): lrs_send(socket0, buf0)
Action.c(8): lrs_receive(socket0, buf1)
Action.c(10): lrs_save_searched_string(socket0, get_last_received_buffer, Parameter1, LB/BIN=SESSIONID{{, RB/BIN=}}, 1, 0, -1)
Action.c(12): 小样还抓不到你!你不就是: 8嘛!
Action.c(14): lrs_create_socket(socket1, TCP, ...)
Action.c(16): lrs_send(socket1, buf2)
Action.c(18): lrs_receive(socket1, buf3)
Action.c(20): lrs_create_socket(socket2, TCP, ...)
Action.c(22): lrs_send(socket2, buf4)
Action.c(24): lrs_receive(socket2, buf5)
Action.c(26): lrs_create_socket(socket3, TCP, ...)
Action.c(28): lrs_send(socket3, buf6)
Action.c(30): lrs_receive(socket3, buf7)
Action.c(32): lrs_create_socket(socket4, TCP, ...)
Action.c(34): lrs_send(socket4, buf8)
Action.c(36): lrs_receive(socket4, buf9)
Action.c(38): lrs_send(socket4, buf10)
Action.c(41): lrs_receive(socket4, buf11)
Action.c(44): lrs_create_socket(socket5, TCP, ...)
Action.c(46): lrs_send(socket5, buf12)
Action.c(48): lrs_receive(socket5, buf13)
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.
|
LR中点鼠标做关联(winsock协议)的更多相关文章
- 转:如何在 LoadRunner 脚本中做关联 (Correlation)
如何在 LoadRunner 脚本中做关联 (Correlation) 当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本.在V ...
- loadrunner 如何做关联
在页面中为了防止CRSF攻击,每次访问登录页面时,在浏览器器端生成一个token. 在提交时检验这个token是否有效,提交后token自动失效. 如果使用loadrunner来测试此系统话需要做 ...
- Jmeter_针对响应信息不明确的接口做关联
下午写一个新功能的接口脚本,遇到几个技术问题,现在将解决方案写出来 1:做接口关联的时候,发现接口响应没有可以利用的信息.如下图只返回了一个成功的标识,这样的接口如何与之关联? 通过抓包观察后续的修改 ...
- Jmeter(十一)_针对响应信息不明确的接口做关联
下午写一个新功能的接口脚本,遇到几个技术问题,现在将解决方案写出来 1:做接口关联的时候,发现接口响应没有可以利用的信息.如下图只返回了一个成功的标识,这样的接口如何与之关联? 通过抓包观察后续的修改 ...
- Jmeter之处理session、cookie以及如何做关联
具体描述问题之前,我们先了解下session.cookie session.cookie的概念 1.session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以 ...
- 【MINA】用protobuf做编解码协议
SOCKET协议 支持java serial 与 AMF3的混合协议,目前没有基于xml 与 json的实现. 协议说明: * 9个字节协议头+协议体. * * 协议头1-4字节表示协议长度 =协议体 ...
- 【JMeter】【性能测试】响应信息不明确的接口做关联
1:做接口关联的时候,发现接口响应没有可以利用的信息.如下图只返回了一个成功的标识,这样的接口如何与之关联? 通过抓包观察后续的修改功能,发现需要传入一个id和一个title.但是前面的接口没有返回, ...
- 本地如何将svn和git管理的代码做关联
svn和git都是广为流传的代码版本管理工具,实际项目中往往会将两者结合使用,那么如何将本地的一份代码和两者做有机的关联呢! 前提假设:项目已经在开发阶段中,此时变更了svn代码库的地址:或者是组里来 ...
- Windows网络编程笔记4 -- Winsock 协议相关知识
Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1. 面向消息 2. 面向连接和无线接 3. 可靠性和次序性 4. ...
随机推荐
- JS正则表达式获取分组内容实例
JS正则表达式获取分组内容. 支持多次匹配的方式: var testStr = "now test001 test002"; var re = /test(\d+)/ig; var ...
- ISE和Modelsim联合仿真(详细步骤讲解)
ISE和Modelsim联合仿真(转) 地址:http://www.cnblogs.com/feitian629/archive/2013/07/13/3188192.html 相信很多人会遇到过这个 ...
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- angular学习笔记(七)-迭代1
本篇介绍angular中元素的迭代: <!DOCTYPE html> <html ng-app> <head> <title>4.1.迭代</ti ...
- python(24)下载文件
利用程序自己编写下载文件挺有意思的.Python中最流行的方法就是通过Http利用urllib或者urllib2模块.当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种 ...
- 快速写excel的方法
对于用com组件写excel,笔者表示那个太慢了.而且很耗资源,还要装excel. 今天我们就用写文本文件的方式来写excel. 步骤1,用excel写好一个设计一个我们想要的模板. 步骤2,我们把做 ...
- java 多线程6: 中断机制 优雅的终止java线程
前文 java 多线程5: java 终止线程及中断机制 (stop().interrupt() .interrupted().isInterrupted()) 使用 interrupt() 和 in ...
- 关联容器——map、set
map类型通常被称为关联数组,与正常数组类似,不同之处在于其下标不必是整数.我们通过一个关键字而不是位置来查找值(键值对). 与之相对,set就是关键字的简单集合.当只是想知道一个值是否存在时,set ...
- 一款基于jquery的鼠标经过图片列表特效
今天要给大家推荐一款基于jquery的鼠标经过图片列表特效.当鼠标经过列表图片的时候,图片放大,且有一个半透明的遮罩层随之移动.效果图如下: 在线预览 源码下载 实现的代码 html代码: < ...
- NLog 配置与使用
有段时间没写博客了,过年放假,一直在弄CMS.什么都自己写了一遍,今天写写NLog,之前一用的log4net,感觉配置起来还是有些麻烦. NuGet 添加组件 配置 NLog.config <? ...