1、变量和参数的设置

//将IP地址和端口放入到参数中
lr_save_string("192.168.1.133:8081","ip");

//计算变量数组的元素个数
int arr_m1[100]; int len1=0
len1=sizeof(arr_m1)/sizeof(int);

//返回值字符串的长度
char *tempStr="test is a house";
int len=0;
len=strlen(tempStr);

//在globals.h文件定义 double think_time=3;//后面可使用该变量来设置思考时间
lr_think_time(think_time);

//生成m-n之间的随机数 rand()%(n-1)+m
lr_think_time(rand()%(n-1)+m);

//添加请求的头的编码信息
web_add_header("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");//提交键值对时的编码信息
web_add_header("Content-Type","application/json; charset=utf-8");//提交json时的编码信息

//提交表单时的编码信息 设置EncType
"EncType=multipart/form-data"

//对返回结果进行编码转换
//lr_save_string("通过该函数获取","response");
//LR_ENC_SYSTEM_LOCALE NULL
//LR_ENC_UTF8 utf-8
//LR_ENC_UNICODE ucs-2

//lr_convert_string_encoding(lr_eval_string("{response}"), "UTF-8","GB2312","unicodeName");//从UTF-8编码 转换到 GB2312 编码存入参数 unicodeName

请求的参数中包含特殊字符时,需要进行URL编码
char *name="输入了正确的数据";
lr_convert_string_encoding(name,LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8 , "unicodeName");//从系统编码 转换到 UTF-8 编码存入参数 unicodeName
lr_save_string (lr_eval_string("{unicodeName}"),"urlName" );
web_convert_param("urlName", "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST );

//在当前系统日期上随机增加n-m天
vRandDay= rand() % m + n;
lr_save_datetime("%d/%m/%Y",DATE_NOW+(vRandDay)*(ONE_DAY),"pRandDay");

//返回参数数组中随机的值
char *pName=NULL;
web_reg_save_param("name",...,"ORD=ALL",LAST) 通过该函数获取
pName=lr_paramarr_random("name");

//返回参数数组中指定位置的值
char *pName2=NULL;
pName2=lr_paramarr_idx("name",i);

//获取参数数组的数据个数
int pLen=0;
pLen=lr_paramarr_len("name");

//比较2个字符串是否相等 0 相等 否则不相等
char *name1="test2"
if(strcmp(name,name1)==0)

//将字符串赋值给变量
char tempName[50];
char *name="test";
strcpy(tempName,name);

//拼接字符串
strcat(tempName,"test right");

//获取参数的值
lr_save_string(tempName,"finalName");
lr_eval_string("{finalName}")

//将整数字符串转换成整形并赋值给变量
int money=0;
money=atoi(lr_eval_string("{tempMoney}"));

//从 tempStr 中截取指定长度的字符,从左开始在 tempStr 字符串的 index 位置处截取,
// 截取 len-index 位字符,并存放到参数 value 中
char *str="access_token=4f7487f9-077c-4246-94f5-8ed59e87a0fc";
char *ch="&";
char *tempStr=NULL;
lr_save_var(tempStr+index+1,(len-index),0,"value");//从 index+1位置开始截取 ,截取长度为 len-index,0 表示从左边开始截取 ,截取后的数据存放到 value参数

//分割字符
char *str="access_token=4f7487f9-077c-4246-94f5-8ed59e87a0fc";
char *ch="&";
char *tempStr=NULL;
tempStr = (char *)strtok(str,ch);
while(tempStr!=NULL)
{
len=strlen(tempStr);
for(i=0;i<len;i++)
{
if(tempStr[i]=='=')
{
index=i;
break;
}
}

//从 tempStr 中截取指定长度的字符,从左开始在 tempStr 字符串的 index 位置处截取,
// 截取 index 位字符,并存放到参数 name 中
lr_save_var(tempStr+0,index,0,"name");//从 0位置开始截取 ,截取长度为 index,0 表示从左边开始截取 ,截取后的数据存放到 value参数

tempStr = (char *)strtok( NULL, ch);
}

//设置html支持的字符长度为1024
web_set_max_html_param_len("1024");

//放在查找请求的前面,对请求响应的结果进行检查 检查的内容,需在返回的成功页面保持唯一
web_reg_find("Search=All",//匹配范围 Headers Body Noresource:不包括头和资源 ALL
"SaveCount=successCount",//将搜索到内容的次数存到该参数
"TextPfx=",//左边界
"TextSfx=",//右边界
"Text/IC=Using the menu to the left",//需检查的文本 IC忽略大小写 当搜索的内容不固定时,可以使用左右边界来确定
"Fail=NotFound",//找不到时,怎么处理
"ID=",//标记调用这个函数的信息
LAST);

//获取请求返回页面中的数据
web_reg_save_param("name",
"LB/IC=name=\"",//左边界 左右边界为空,匹配整个返回的内容 边界中包含双引号 则需加反斜杠 加ic表示忽略大小写匹配
"RB/IC=\" value=\"on\" />",//右边界 ,边界中包含双引号 则需加反斜杠 加ic表示忽略大小写匹配
//"Convert=HTML_TO_URL",//数据转换 HTML_TO_URL 将html编码数据转换为url数据 HTML_TO_TEXT 将html编码数据转换为文本数据
"ORD=ALL",//匹配所有可以匹配到的内容
//"SaveLen=",//搜索到内容后,截取得指定长度的内容
//"SaveOffset=",//搜索到内容后,在偏移指定长度位置后,再截取得指定长度的内容
"Search=Body",//匹配范围 Headers Body Noresource:不包括头和资源 ALL
"NOTFOUND=warning",//匹配不到如何处理 error warning
LAST );

//开启事物
lr_start_transaction("登录");

//判断提交登录是否成功
if(atoi(lr_eval_string("{successCount}")) > 0)
{
//结束登录的post请求
lr_output_message("访问登录结束,登录成功");
lr_end_transaction("登录", LR_PASS);
}
else
{
//结束登录的post请求
lr_output_message("访问登录结束,登录失败");
lr_end_transaction("登录", LR_FAIL);
}

web_url("请求描述",
"URL=http://{ip}/请求的参数",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/请求的参数",
"Mode=HTML",
LAST);

web_submit_data("请求描述",
"Action=http://{ip}/请求的参数",
"Method=POST",
"RecContentType=text/html",
"Referer=http://{ip}/请求的参数",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value=test01", ENDITEM,
"Name=password", "Value=123456", ENDITEM
LAST);

//web_custom_request请求,通用型的请求函数
//web_custom_request 中 Mode=HTTP,
//get请求 Method=GET Mode=HTTP
//post请求 Method=POST Mode=HTTP Body=请求的参数
//响应的Content-Type RecContentType=text/html 请求的content-Type EncType=application/x-www-form-urlencoded; charset=UTF-8

web_custom_request("请求描述",
"Method=POST",//提交方式
"URL=http://{ip}/请求的参数",
"Mode=HTTP",
"EncType=application/x-www-form-urlencoded",//请求的Content-Type 覆盖web_add_[auto_]header设置的Content-Type类型
"RecContentType=text/html;",//响应的Content-Type
tempQueryString,//请求的参数,拼接出来后赋值给变量
LAST );

//使用参数 变量发送请求的列子
char *url = "ip:port";
char arr_url[1024];

//将url变量的值复制给p_url1参数
lr_save_string(url,"p_url");

//将p_url1参数的值复制给arr_url变量
strcpy(arr_url,"URL=http://");
strcat(arr_url,lr_eval_string("{p_url}"));
strcat(arr_url,"查询的参数");

lr_output_message("通过获取参数的值的方式发送请求");
web_url("描述1",
"URL=http://{p_url}/查询的参数",
LAST);

lr_output_message("通过获取变量的值的方式发送请求");
web_url("描述2",
arr_url,
LAST);

//求数组中的最小值
int arr[]={-12,-43,45,-14,-78,-16,0,3,-6,-30,-40};
int len=sizeof(arr)/sizeof(int);

int getMin(int *arr,int len)
{
int i=0;
int min=arr[0];

for(i=0;i<len;i++){
if(min>arr[i]){
min=arr[i];
}
}
return min;
}

//求数组中的最大值
int arr[]={-12,-43,45,-14,-78,-16,0,3,-6,-30,-40};
int len=sizeof(arr)/sizeof(int);

int getMax(int *arr,int len)
{
int *p=arr;
int max=*p;

for(;p<(arr+len);p++)
{
if(*p>=max1)
{
max=*p;
}
}
return max;

};

LR脚本中常用函数使用介绍的更多相关文章

  1. Unity脚本中各函数成员的生命周期

    在学习Unity时,掌握如何编写脚本是必须掌握的一项基本技能.但是关于Unity的游戏脚本中各函数的生命周期是怎样开始和结束的,它们的执行顺序是如何安排的?这一点我们要清楚的了解. 我们知道Unity ...

  2. loadrunner 脚本开发-web_custom_request函数详细介绍

    脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestN ...

  3. Mariadb MySQL、Mariadb中GROUP_CONCAT函数使用介绍

    MySQL.Mariadb中GROUP_CONCAT 函数使用介绍 By:授客 QQ:1033553122 语法: GROUP_CONCAT([DISTINCT] column_name [ORDER ...

  4. LoadRunner中常用函数参考手册

    基础篇1:LoadRunner中常用函数参考手册 常用函数列表 web_url web_submmit_form VS web_submmit_data VS web_custom_request w ...

  5. shell 脚本中常用的内置变量

    在 Bash 解释器中,内置了许多变量,这些变量的功能是解释器自带的,我们在编写shell脚本时如果能灵活的使用它们,对脚本的编写效率以及差错大有帮助, 下面一一介绍这些变量 $FUNCNAME.$L ...

  6. JavaScript中常用函数(入门级)(持续更新)

    本文中枫竹梦介绍一些JavaScript中入门级的常用函数,对于已经过了入门的童鞋可选择略过,都是一些非常实用的函数.如果发现什么问题,欢迎讨论. 问题列表 Q1: 设计一个函数repeatIt(st ...

  7. Android 升级脚本updater-script 的函数简单介绍

    这是Android系统来执行updater-scripts中的函数介绍. 函数都是的Edify语言.当调用这些函数结束的时候.会返回数据给脚本.当然,你也能够使用这些函数的返回值来确认成功与否,比如: ...

  8. shell脚本中的各种表达式介绍和使用

    #前言:在shell脚本中,有各种的表达式,包括有条件测试表达式,文件表达式,字符串表达式,整数表达式,接下来我们来了解一下他们的使用方法 1.条件测试表达式 #首先来看一下条件测试语法 #条件测试语 ...

  9. OpenCV图像处理中常用函数汇总(1)

    //俗话说:好记性不如烂笔头 //用到opencv 中的函数时往往会一时记不起这个函数的具体参数怎么设置,故在此将常用函数做一汇总: Mat srcImage = imread("C:/Us ...

随机推荐

  1. fastIO模板

    freadIO整理 namespace fastIO{ #define BUF_SIZE 100000 ; inline char nc() { static char buf[BUF_SIZE],* ...

  2. Laravel框架之CSRF防跨站攻击

    laravel框架的csrf防跨站攻击,简单的意思就是说为了防止别人自己写表单非法提交,非法绕过前台的验证,直接将数据往后台执行. 一般的网站如果没有这些安全措施,比较容易被攻击.当然了也还要有其他的 ...

  3. 深入剖析ASP.NET Core2.1部署模型,你会大吃一惊

    ----------------------------   以下内容针对 ASP.NET Core2.1版本,2.2推出windows IIS进程内寄宿 暂不展开讨论---------------- ...

  4. poj1088滑雪最短路径

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 97281   Accepted: 36886 Description ...

  5. [Xcode 实际操作]七、文件与数据-(1)获取程序沙箱结构中常用的几个目录

    目录:[Swift]Xcode实际操作 本文将演示如何获取程序沙箱结构中,常见的几个目录. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...

  6. IntelliJ IDEA 安装golang 插件

    作者的机器为mac OS 用户首先需要在自己的个人机器上安装好 golang 的环境,详细可以参考  hyperledger fabric 1.0.5 分布式部署 (一)安装 golang 的部分. ...

  7. 浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点

    浅谈JAVA GUI中,AWT与Swing的区别.联系及优缺点 A.区别 1.发布的时间 AWT是在JDK 1.0版本时提出的 Swing是在AWT之后提出的(JAVA 2) 2. ”重量” AWT是 ...

  8. Nginx 最新版源码编译安装 包含常用模块作用及所需依赖

    第一部分 Nginx最新版源码编译安装 1. 使用的模块 模块1:http_rewrite_module 基于正则匹配来实现重定向.依赖PCRE库,见依赖1 模块2:http_gzip_module ...

  9. Luogu P1462 通往奥格瑞玛的道路 二分答案+最短路

    先二分答案,再跑最短路,跑的时候遇到 过路费超过二分的答案的 就不拿他更新最短路 #include<cstdio> #include<iostream> #include< ...

  10. BZOJ2595(状压dp)

    要点 设\(f[i][j][k]\)为经过点\((i,j)\)且包含点集\(k\)的最小代价,其中k是指景点集合的枚举. 考虑有两种情况:1.点\((i,j)\)作为关键点连接了两个子集时\(f[i] ...