loadrunder之脚本篇——脚本基础知识和常用操作
1)编码工具设置
自动补全输入Tools->General Options->Environment->Auto complete word
显示功能语法Tools->Genral Options->Environment->Show Function Syntax
2)脚本注释
添加注释:
//Edit->Advanced->Comment selection、 Ctrl+Alt+C
注意:注释前,必须先选定要注释、取消注释的内容,按下快捷键才有注释符的出现
//注释一行
取消注释:
(Edit->Advanced->Uncomment selection、 Ctrl+Alt+U)
3)语法规则
1.以lr开头的函数都是LoadRunner自带的基础函数,以web开头的函数都是Web Vuser script函数,用来模拟用户行为。
2.在脚本中的任何系统函数之间,都不能使用C语言元素。
Action2()
{
int x = 10; //正确//变量定义、声明不能在系统函数之后,
//打开登录页面
web_url("WebTours",
"URL=http://172.25.75.2:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
// int x = 10; //错误
lr_think_time(2);
return 0;
}
4)脚本的导入导出
导出脚本(File->Zip Options->Export to zip File)
在打包代码的时候可以选择All files或者Runtime files。区别在于Runtime files只包含运行整个脚本的基本内容,压缩包较小。如果选择All files,那么就是将整个脚本目录,包含运行后的Results目录也一起打包,压缩包较大。一般来说,如果只是提交代码,那么建议选择Runtime files。
导入脚本:File->Zip Options->Import from Zip File
导入脚本:File->Zip Options->work from Zip File
不解压zip文件,直接从zip中打开。更新脚本后保存,会直接更新zip压缩包。和平常不解压,直接从zip中打开文档,修改后,保存,更新压缩包是一个道理
导入Action:Actions > Import Action into Vuser
点击OK,如下
5)脚本调试
不支持VBscript和VB应用程序类型的用户脚本
单步调试:
先进行断点设置,然后
Vuser->Run Step By Step、F10
每按一次F10,就执行一下句脚本
断点设置
鼠标移动到要设置断点的脚本位置,通过Insert->Toggle Breakpoint(F9)功能实现断点设置,按F5运行脚本,到断点处按F10继续运行
Edit > Breakpoints
6)使用C函数进行跟跟踪
用c函数debug脚本。ci_set_debug函数允许在指定的点开启和关闭跟踪和调式
原型:ci_set_debug(ci_this_context, int debug, int trace);
例如:
ci_set_debug(ci_this_context, 1, 1);
ci_set_debug(ci_this_context, 0, 0);
Bookmarks(Edit->Bookmarks->Toggle Bookmark、Ctrl+F2)
鼠标移动到要设置标签的脚本位置,通过Edit->Bookmarks->Toggle Bookmark、Ctrl+F2
可以在脚本上标记一个标签,方便切换不同的代码段,通过按F2键和Shift+F2组合键来往前往后跳转标签
注意:标签仅在同一个代码页面内切换
7)代码折叠
代码中单击鼠标右键,找到菜单Expand/Collapse->Expand ALL:展开所有;Collapse ALL 折叠所有,也可以选择Diable Expand Collapse禁用代码折叠功能
8)代码日志定位
代码日志定位:右键函数代码,点击Go to Step in Replay Log 或Edit > Go To Step in Replay Log.
快速打开代码所在目录:右键函数代码,点击 Open Script Directory
跳转到指定行的日志记录:右键日志区域,选择go to line或者选择中Edit->Go To Line、Ctrl+G,填写行数
9) 常用函数
1) 获取用户信息函数
例如:获取主机上有Vuser正在其上运行的主机名。.
my_host = lr_get_host_name( );
2) 发送消息到输出
使用消息类型函数,可以发送自定义错误和提醒消息到控制台输出和日志文件及测试报告。例如,可插入条消息来显示当前客户端应用的状态。lr在Output输出窗口中显示这些消息。.也可以把消息保存到文件。
注意:不要在事务中发送消息,因为这个会延长事务时间,影响测试结果
lr_message, lr_output_message, 和lr_log_message函数不受run-time settings中的日志级别的影响,它们总是可以发消息。.
10) 脚本比较Tools > Compare with Script.
比较Vuser scripts
1 打开第一个你要比较的脚本。
2 选择Tools > Compare with Script.
3 选择第二个你要比较的脚本。两个脚本在新窗口中并排显示,不同点被黄色高亮显示。
loadrunder之脚本篇——脚本基础知识和常用操作的更多相关文章
- 学习 shell脚本之前的基础知识
转载自:http://www.92csz.com/study/linux/12.htm 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...
- 转载:shell脚本之前的基础知识
转载地址:http://www.92csz.com/study/linux/12.htm 第十二章 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果 ...
- spring cloud系列教程第四篇-Eureka基础知识
通过前三篇文章学习,我们搭建好了两个微服务工程.即:order80和payment8001这两个服务.有了这两个基础的框架之后,我们将要开始往里面添加东西了.还记得分布式架构的几个维度吗?我们要通过一 ...
- LWJGL3的内存管理,第一篇,基础知识
LWJGL3的内存管理,第一篇,基础知识 为了讨论LWJGL在内存分配方面的设计,我将会分为数篇随笔分开介绍,本篇将主要介绍一些大方向的问题和一些必备的知识. 何为"绑定(binding)& ...
- 学习shell脚本之前的基础知识
日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位 ...
- shell脚本之前的基础知识
日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位 ...
- 大数据学习笔记——Java篇之基础知识
Java / 计算机基础知识整理 在进行知识梳理同时也是个人的第一篇技术博客之前,首先祝贺一下,经历了一年左右的学习,从完完全全的计算机小白,现在终于可以做一些产出了!可以说也是颇为感慨,个人认为,学 ...
- SLAM第一篇:基础知识
无论在室内.野外.空中还是水下,SLAM是机器人进入未知环境遇到的第一个问题.本期给大家介绍SLAM的基础知识:传感器与视觉SLAM框架 近来年,智能机器人技术在世界范围内得到了大力发展.人们致力于把 ...
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
随机推荐
- C# 子类实例化过程
刚研究了一下C#子类实例化的过程. 首先我遇到了如下一个问题: 有类A,里面写了一个有参的构造函数,并没有提供默认的无参构造函数.现在类B继承了类A,没有写任何的构造函数. 这时如果想实例化类B就会产 ...
- bootstrap-table接合abp
将ui-grid 换成了bootstrap-table, 在abp中如此结合 function ajaxRequest(params) { console.log(params.data); role ...
- X264码率控制总结
ABR,CQP,CRF X264显式支持的一趟码率控制方法有:ABR, CQP, CRF. 缺省方法是CRF.这三种方式的优先级是ABR > CQP > CRF. if ( bitrate ...
- 前端webview开发中遇到的一些问题及其解决方法
最近做了一个webview中的兑换页面,本来以为很简单,想不到遇到了远远超出预期数量的BUG,记下来,以备后患. 1 inline-block元素折行 BUG描述:现在我有三个DIV,要在一列等宽排列 ...
- 创建动作-Action:
在Struts2的行动,唯一的要求是,必须有一个无参数的方法,该方法返回一个字符串或结果的对象,必须是一个POJO.如果不带参数的方法不指定,则默认行为是使用execute()方法. 您也可以选择扩展 ...
- Gallery学习————检测手机中是否存在外部存储设备
在缓存数据的时,有时候会出现没有外部存储设备的情况,所以需要检测是否存在外部存储设备 /** * 检测外部存储设备 * * @param requireWriteAccess * @return */ ...
- 涉及spring的相关概念
1.pojo 2.为了降低java开发的复杂性,spring采用了4中策略 (1).基于POJO的轻量级和最小侵入性编程 (2).通过依赖注入和接口编程实现松耦合 (3).基于切面和惯例进行声明式编程 ...
- Palindrome Function
Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 256000/256000 K (Java/Others)Total Submissio ...
- Xamarin.Forms学习之Page Navigation(二)
在上一篇的文章中,对页面常规的导航做一些分享,然而在实际的编程中,页面数据的保持,传值等等都有很多,这篇文章就对这些相关内容做一个分享和记录,有问题,希望大家留言指正.这一篇从实现业务逻辑来讲并没有什 ...
- django注册在使用hashlib对密码加密时报Unicode-objects must be encoded before hashing
在使用sh1等hashlib方法进行加密时报:Unicode-objects must be encoded before hashing 解决办法:对要加密的字符串指定编码格式 解决之前: s1=s ...