一. socket脚本

lrs_startup(257);

lrs_create_socket("socket1", "TCP", "RemoteHost=192.168.86.239:9503", LrsLastArg);

lrs_set_recv_timeout(120, 0);

lrs_set_socket_options("socket1", LRS_NO_DELAY, "TRUE");

lrs_send("socket1", "buf1", LrsLastArg);

lrs_receive("socket1", "rbuf1", LrsLastArg);

lrs_close_socket("socket1");

lrs_cleanup();

二. Loadrunner函数大全

1258个函数

http://files.cnblogs.com/qingxia/LoadRunner%E5%87%BD%E6%95%B0%E5%A4%A7%E5%85%A8%E4%B9%8B%E4%B8%AD%E6%96%87%E8%A7%A3%E9%87%8A.pdf

三. 调试优化脚本

1.设置断点
   
    相信大家都不陌生,LR也是可以设置断点的,在需要设置断点的语句前按F9快捷键,断点就设置好了,程序运行到断点语句后会暂停,这时我们可以用F10单步调试程序。
   
    2.打开EXtended Log
   
    只是设置断点是不够的,我们还得知道具体发生了什么事情,Log告诉了我们一切,默认的Log是standard Log,这时远远不够的。我们要extended log,打开路径为runtime settings-->log-->extended log.把parameter substitution和data returned by server和advanced trace大家根据需要勾选吧。

3.注释掉多余的语句

很多回放时出错的脚本都是因为多余的语句。因为LR在录制的时候,LR生成的语句很多不是我们想要的。不要过分相信LR了,它生成的语句也是有很多BUG的。

四. log文件在哪看

(1)在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息:lr_output_message,lr_error_message,lr_log_message.这些函数请参阅 help-->function reference.
   
    其次,我们要在Vuser->runtime settings->log中设置,勾选always send messages,这样我们才能写出Log,在我们的脚本所在的文件夹中,有两个文件很重要,mdrv.log.txt和output.txt文件,lr_log_message只会把信息输到mdrv.log文件中,而lr_output_message则会写进以上两个文件。

(2)在controller中,很多朋友都会想知道多次迭代,参数是否正确的导入了呢,我们依旧查看log,我们在执行结束后,查看结果目录的Log文件夹,如果是负载生成器运行的话,则在tmp目录。不过,还想提醒朋友们,在controller我们也要设置runtime settings才行,而且每个用户组的runtime settings,设置的方法是:在controller的Run标签页中,Vusers...->Details...->runtime settings按钮,点击它,设置的方法与在vgen中一样的。

五. 网例 —— 数据包乱码

【说明:】今天用socket协议录制脚本后,发现数据包中都是乱码。经过自己的琢磨,最终把所有乱码都给格式化成十六进制。感触最深的就是只要懂的字符类型长度就能真正的理解清楚loadrunner中发送的数据包内容是啥。然后就可以完全自己灵活控制数据包的值和数据包的操作。

1、基础知识:
(1)需要知道所测试软件中的包结构。
(2)知道二进制流;
(3)知道Big Endian 与 Little Endian
(4)知道字符类型的长度
(5)知道:当两台采用不同字节序的主机通信时,在传输数据之前双方都必须 对其进行字节序转换,转为网络字节序后才能进行传输.

2、实例说明:

如某包体中有两个值,定义如下:

struct msgHead
{
int id,
char name
}

假设我们要发送的包体就包括这两个字段。并且id=81001 ,name=A

那么在loadrunner的data.ws文件中或者自己自定义的数据包中的值分别如下:

/*********************************
send buf0   5

"\x69\x3C\x01\x00"//说明:十进制:81001  十六进制:13C69 按照高低位存储:69 3c 01 00

"\x41"   //说明: ascii码A 对应十进制是65 ,65转化成十六进制是41  
*********************************/

3、注意

通过上面的例子,不管你录制后的数据包显示什么样的乱码。

都可以用以上方法,根据包结构中定义的长度,一个个给解析出来。

转载于:https://www.cnblogs.com/qingxia/archive/2012/09/24/2699582.html

初识Loadrunner相关推荐

  1. 广州软件性能测试培训,Loadrunner企业级性能测试课程 广州八神软件性能测试实战教程 炼数性能测试视频...

    (1)\第10讲--运笔如神-性能测试计划的编写:目录中文件数:6个 ├─(1) 某某某项目性能测试方案.rar ├─(2) 第10讲-性能测试计划的编写-1.mp4 ├─(3) 第10讲-性能测试计 ...

  2. 广州八神软件性能测试课程最新大纲

    发帖纪念下本人最近开设的一门软件性能测试方面的课程全部录制完毕, 课程URL是:http://edu.51cto.com/course/course_id-2218.html. 也可以通过:http: ...

  3. HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版

    LoadRunner 12.02教程独家中文版 Tylan独家呕血翻译 转载请注明出自"天外归云"的博客园 Welcome to the LoadRunner Tutorial L ...

  4. 【Loadrunner】学习loadrunner——性能测试基础篇VUG的使用(二)

    文章目录 1.loadrunner初识 1.1.loadrunner是什么 1.2.loadrunner执行原理 1.3.loadrunner组成 2.Virtual User Generator(V ...

  5. LoadRunner之二“集合点”

    怎么更好的理解集合点? 如果要求系统能够承受1000人同时提交数据,那么我们就可以在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集 ...

  6. day3----编码-集合-深浅copy-文件操作-函数初识

    day3----编码-集合-深浅copy-文件操作-函数初识 本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入do ...

  7. ⑥python模块初识、pyc和PyCodeObject

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  8. loadrunner支持https协议的操作方法-经验总结

    问题:用户portal支持https协议,用loadrunner录制登陆脚本时发现未录制到用户名和密码 录制到的脚本如下: login() { lr_think_time(10); web_url(& ...

  9. LoadRunner中log的使用总结

    LoadRunner中log的使用总结 1.log的设置方式. 在 runtime setting中可以设置log的生成方式: 默认的log方式: Enable logging选中,log optio ...

  10. lr如何监控linux,LoadRunner如何监控Linux系统资源

    一 简述:LoadRunner监控Linux资源时弹出如下错误: Monitor name :UNIX Resources. Cannot initialize the monitoring on 1 ...

最新文章

  1. 年季度月周日控件html,基于bootstrap按年、季度、年月、年月日的日历插件(原创)...
  2. 谷歌上线AI新玩法:随手乱涂鸦,一键变怪兽
  3. javascript中的this
  4. C++ CGI Helloword
  5. 为JavaOne 2014做好准备!
  6. 单片机STM8S测量电压电路_单片机电路设计中的10个难点
  7. 卡巴绿杀6 By Moshow魔手
  8. 软件工程讲义 0 微博上的软件工程
  9. SAP程序下载模板显示异常问题解析
  10. mt950报文解析_MT700报文升级的内容分析及对信用证实务操作的影响
  11. bfptr算法(即中位数的中位数算法)
  12. 个人学习java的真实经历!
  13. 22 个最常用的 Python 包
  14. plg.Polygon
  15. Dan Pitt卸任ONF执行董事
  16. ST7703 LCM显示屏调试--基于MT6765
  17. MPEG音频编码三十年
  18. Postman如何使用(三):使用数据文件【入门到精通】
  19. python中编写一个函数求数值x的绝对值(python实验二)
  20. Big Endian与Litter Endian

热门文章

  1. proxy_redirect参数的作用
  2. const 与readonly的异同
  3. 如何解决More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations
  4. RecyclerView子View不刷新(RequestLayout无效),RecyclerView.mEatRequestLayout
  5. [数据结构] 树链剖分
  6. vue小案例一:todolist
  7. python输出名字和字数_Python字数和排名
  8. maven配置项目根路径_Java的项目构建工具Maven的配置和使用教程
  9. mysql start tran_mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
  10. 苹果电脑删除linux系统软件,mac删除双系统_mac删除双系统的win