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

在这里我们手动写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. HeadFIrst Ruby 第七章总结 hashes

    前言 这一章节介绍了 Ruby 中 hash 这一数据类型的用法和特征. Hash 的定义 与 array 的对比 最大的不同: An array can only use integers as i ...

  2. English trip M1 - PC7 Can I Borrow Your Ping-Pong? Teacher:Patrick

    In this lesson you will learn to desribe abilities.  这节课你将学习到描述你的能力 课上内容(Lesson) 三种常见情态动词 can aux. 能 ...

  3. c++-pimer-plus-6th-chapter02

    <C++ primer plus 英文版 第六版>娓娓道来.这个是上下分册.而且,出版时间是最新的2015年,买回来发现网上的勘误基本都被纠正过来了,极个别错误没有影响到理解,好哎!而且发 ...

  4. LeetCode--003--无重复字符的最长子串(java)

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  5. 使用Vue cli3搭建一个用Fetch Api的组件

    系列参考 ,英文原文参考 我的git代码: https://github.com/chentianwei411/Typeahead 目标: 建立一个输入关键字得到相关列表的组件,用Vuejs2和Fet ...

  6. raw_input 和input 区别

    raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它 ...

  7. Luffy之虚拟环境.项目搭建,目录日志等配置信息

    1. 项目开发前 1.1 虚拟环境virtualenv 如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的 ...

  8. SWUST OJ(953)

    单链表的删除操作的实现 #include <stdio.h> #include <stdlib.h> typedef struct LinkNode //单链表节点结构的定义 ...

  9. 『MXNet』第九弹_分类器以及迁移学习DEMO

    解压文件命令: with zipfile.ZipFile('../data/kaggle_cifar10/' + fin, 'r') as zin: zin.extractall('../data/k ...

  10. suse11安装mysql5.7

    下载地址http://mirrors.sohu.com/mysql/MySQL-5.7/ 1.    wget -c  http://mirrors.sohu.com/mysql/MySQL-5.7/ ...