性能测试其实测的就是接口的性能,不管是用工具录制还是自己写,都是围绕接口的,录制也是把接口录制下来而已,但是录制下来的脚本比较乱,会把很多相关的请求都录下来。

在这里我们手动写HTTP协议的get、post请求的接口

1.HTTP的GET请求 
这里以访问百度为例,地址http://www.baidu.com/s?wd=helloworld,表示在百度上搜索helloworld。

Action()
{

int status; //定义状态
lr_start_transaction("send"); //定义开始事务

web_reg_find("Search=Body",//这里说明在Body的范围内查找
"SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里
"Text=helloworld",//这里表示查找的内容是“helloworld”
LAST);

status=web_url("Baidu_Search",
"URL= http://www.baidu.com/s?wd=helloworld",
"TargetFrame=Main",
"Resource=0",
"RecContentType=text/html",
"Mode=http",
LAST );

lr_output_message("Request Status:%d",status);
lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));

if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数
lr_output_message("Rec successful.");
lr_end_transaction("send", LR_PASS); //结束事务
}
else{
lr_error_message("Rec failed");
lr_end_transaction("send", LR_FAIL); //结束事务
}

return 0;
}

2.HTTP POST请求 
这里用飞机订票系统的注册方法举例,脚本如下:

Action()
{

int status;

lr_start_transaction("注册");

web_reg_find("Search=Body",//这里说明在Body的范围内查找
"SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里
"Text=Thank you",//这里表示查找的内容是“t”
LAST);

status= web_submit_data("default.aspx",
"Action=http://127.0.0.1:1080/WebTours/login.pl ", //地址
"Method=POST", //POST请求

ITEMDATA,

//传参
"Name=username", "Value=shen", ENDITEM,
"Name=password", "Value=shen", ENDITEM,
"Name=passwordConfirm", "Value=shen", ENDITEM,
"Name=firstName", "Value=", ENDITEM,
"Name=lastName", "Value=", ENDITEM,
"Name=address1", "Value=", ENDITEM,
"Name=address2", "Value=", ENDITEM,
"Name=register.x", "Value=43", ENDITEM,
"Name=register.y", "Value=17", ENDITEM,

LAST );

lr_output_message("Request Status:%d",status);
lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));

if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数
lr_output_message("Rec successful.");
lr_end_transaction("注册", LR_PASS);
}
else{
lr_error_message("Rec failed");
lr_end_transaction("注册", LR_FAIL);
}

return 0;
}

loadrunner http协议性能测试脚本编写的更多相关文章

  1. Loadrunner Webservice接口性能测试脚本编写优化总结

    本文主要介绍使用Loadrunner Webservice接口性能测试脚本编写及优化总结. 1.Webservice协议脚本编写流程 下面介绍使用Loadrunner 11调用Webservice接口 ...

  2. 【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter对SOAP协议性能测试脚本开发

    目录: 创建WebService接口模拟服务端 下载SoapUI 新建MathUtil.wsdl文件 创建一个SOAP项目 接口模拟服务端配置以及启动 JMeter对SOAP协议性能测试脚本开发 [阐 ...

  3. LR实现http协议性能测试脚本

    1.  GET方式的HTTP请求性能测试脚本 Action() { web_set_max_html_param_len("); web_reg_save_param("retCo ...

  4. sockt-浅谈接口性能测试脚本编写

    平时我们做的都是http请求的接口测试,初次接触socket接口还是有点不知如何下手,其实他如http接口请求区别并不是很大,也是接口的链接-发送数据-断开连接这三大步骤来实现: 以下文章转载自:ht ...

  5. Jmeter(二十七) - 从入门到精通 - Jmeter Http协议录制脚本(详解教程)

    1.简介 LoadRunner的录制功能让性能测试脚本编写对于不懂代码的人变成了一件容易上手的事,但是由于LoadRunner收费高昂,庞大,一般企业很少用,除非必须使用.Jmeter作为性能测试中的 ...

  6. 品味性能之道<九>:利用Loadrunner编写socket性能测试脚本简述

            一.概述         Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作.     二.socket概述     ...

  7. LoadRunner编写socket性能测试脚本

    利用LoadRunner编写socket性能测试脚本 一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socke ...

  8. loadrunner之Java Vuser协议脚本编写

    步骤:1.根据自己使用的lr版面选择jdk 1)LR11   1.6   32位 2)LR12   1.7   32位 2.安装好jdk,并搭建java环境变量,安装好java代码编写工具 3.在sr ...

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

    一前言 二任务的提出 三实现方案讨论 四技术要点讲解 如何开始录制一个最简单的收发数据包脚本 写日志文件 一行一行读数据包文件 字符串转换为十六进制数据包 发送自己定义的数据包 接收数据包到自定义缓冲 ...

随机推荐

  1. 雷林鹏分享:XML 应用程序

    XML 应用程序 本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序. XML 文档实例 在本应用程序中,我们将使用 "cd_ca ...

  2. pseudotime专题

    review:Computational Methods for Trajectory Inference from Single-Cell Transcriptomics Tools/Algorit ...

  3. 关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中

    说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...

  4. LeetCode--401--二进制手表

    问题描述: 二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59). 每个 LED 代表一个 0 或 1,最低位在右侧. 例如,上面的二进制手表读取 “3 ...

  5. Confluence 6 空间标识

    每一个 Confluence 空间都有一个 空间标识(space key),这个空间标识是简短并且是唯一的,这个标识被用来构建到空间的 URL 中. 当你创建一个站点空间,Confluence 将会为 ...

  6. BigInteger 类 和 BigDecimal 类

    一 .BigInteger BigInteger类在计算和处理任意大小的整数方面是很有用的. BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的. BigInte ...

  7. 2018 USP Try-outsF - Optimizing Transportation in Portugal

    题意:给你一副无向图,求使s到t删掉一条的最短路最大的长度 题解:先预处理s,t到每个点的最短路,二分答案,对于一条边,如果选中这条边,那么对于s->u+u->v+v->t或者s-& ...

  8. HDU-6336-构造

    Problem E. Matrix from Arrays Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 ...

  9. Linux在shell中输入历史命令

    在Linux的shell中,经常输入的命令有很多雷同,甚至是一样的, 如果是长命令,再次敲一遍效率真的是很低, 不过可以通过Ctl+r,  查找history中以前输入的命令,很是好用. 按Ctrl+ ...

  10. SQL - 数据定义

    SQL 的数据定义功能包括模式定义.表定义.视图和索引的定义: 操作对象 操作方式 创建 删除 修改 模式  create schema drop schema   表  create table d ...