想必各位小伙伴们会对LR还可以调用java感到好奇,之前我也这么一直认为LR只支持C语言。其实LR脚本支持的语言有:C、Java、Visual Basic、VbScript、JavaScript,只不过默认的是C语言而已,下面我们就以java接口测试代码来进行性能测试。


一、Java代码调试
1、导入测试jar包(公司内部加密接口)

2、代码运行成功

如下图正是因为上述接口运行成功时返回码retcode为000000,所以我们自己加上下面这段业务代码,
其目的就是为了在LoadRunner中压测的时候判断调用成功与失败

//LoadRunner压测返回码判断
if(!response.contains("\\\"retcode\\\":\\\"000000\\\"")){
return -1;//即调用成功
}
else{
return 0;//调用失败
} 

3、导出可执行的Jar文件(包含lib库)
右键项目->Export->java->Runnable JAR file

导出到桌面(jar可执行文件和lib库文件夹)

二、将导出的文件放到Loadrunner中
1、下面是我搭建在测试服务器上的LoadRunner 11
Remote Desktop Connection Manager为微软一款远程连接工具,个人比较喜欢,可点下载

二、机器上安装JDK(注意Loadrunner 11只支持JDK 1.6 32位而LR12支持JDK1.6以上版本),测试机器已经安装JDK1.6 32位

  • JAVA_HOME:D:\Program Files\Java\jdk1.8.0_45
  • Path:%JAVA_HOME%\bin;
  • CLASSPATH:.;%JAVA_HOME%\lib;

三、Virtual User Generator中编写脚本

public class Actions
{
public int init() throws Throwable {
return 0;
}//end of init
public int action() throws Throwable {
lr.start_transaction("creditdemo");//下面事物内容为调用测试代码中的方法并且判断业务返回码
int ret = P_C_B112.Request();//调用可执行文件中类的方法,我的类名为P_C_B112,方法(被测接口)为Request()
if(ret<0) {
lr.end_transaction("creditdemo", lr.FAIL);//返回码<0,调用成功,此处调用了我们之前写的一段请求接口是否成功的业务代码
} else {
lr.end_transaction("creditdemo", lr.PASS);//返回码>0,调用失败
}
return ret;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
} 

运行一次保证脚本调通

三、Controller场景设置
导入刚才我们已经调通的脚本

下图已经跑通了5000多笔交易

四、Analysis分析压测报告
生成压测报告,分析报告,给出结论

Over。。。。。。

LoadRunner+Java接口性能测试的更多相关文章

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

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

  2. LoadRunner调用Java程序—性能测试-转载

    LoadRunner调用Java程序—性能测试   为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...

  3. 【转】java接口的性能测试

    这周尝试了一把性能测试,之前都是测试网站的性能测试,java接口的性能测试还是头一次,学到了很多,特此分享一下. 主要用到了两个性能测试工具,一个是jmeter,一个是LoadRunner. 使用jm ...

  4. Loadrunner Http接口Get/Post方法性能测试脚本解析

    最近使用LoadRunner 11进行了一次完整的Http WEB接口性能测试,下面介绍下Http接口Get/Post方法性能测试脚本通用编写方法. 1. Http接口性能测试基本流程 首先定义了一个 ...

  5. jmeter简单的接口性能测试

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

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

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

  7. Jmeter Http接口性能测试

    Jmeter Http接口性能测试 1.      启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2. ...

  8. 接口性能测试方案 白皮书 V1.0

    一. 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间.响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网 ...

  9. 接口性能测试--JMeter

    1.JMeter Java Sampler介绍 setupTest做些初始化的工作,每个线程只执行一次 teardownTest做些清理工作,每个线程只执行一次 1.JMeter Java Sampl ...

随机推荐

  1. rm 命令(删除文件和目录)

    rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的 ...

  2. 【转】jmeter入门教程- Jmeter教程及技巧汇总

    https://blog.csdn.net/zouxiongqqq/article/details/72843500

  3. flutter 频道切换

    https://github.com/flutter/flutter/wiki/Flutter-build-release-channels 频道说明页 https://flutter.dev/doc ...

  4. luoguP2296 寻找道路

    因为是出边与终点直接或间接相连,所以将边反向,从终边开始,将所有终边能到达的点都打上标记因为是最短路,所以不需要处理重边和自环,于是再跑最短路就好题目关键:路径上的所有点的出边所指向的点都直接或间接与 ...

  5. Codeforces 856B - Similar Words

    856B - Similar Words 题意 如果一个字符串可以通过去掉首位字母得到另一个字符串,则称两个字符串相似. 给出一个字符串集合,求一个新的字符串集合,满足新集合里的字符串是原字符串集合中 ...

  6. RPD Volume 168 Issue 4 March 2016 评论2

    Influence of the phantom shape (slab, cylinder or Alderson) on the performance of an Hp(3) eye dosem ...

  7. [CTSC2017]密钥

    传送门:http://uoj.ac/problem/297 “无论哪场比赛,都要相信题目是水的” 这不仅是HNOI2018D2T3的教训,也是这题的教训,思维定势真的很可怕. 普及组水题,真是愧对CT ...

  8. 【找规律】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B. Code For 1

    观察一下,将整个过程写出来,会发现形成一棵满二叉树,每一层要么全是0,要么全是1. 输出的顺序是其中序遍历. 每一层的序号形成等差数列,就计算一下就可以出来每一层覆盖到的区间的左右端点. 复杂度O(l ...

  9. 【计算几何】【极角序】【前缀和】bzoj1132 [POI2008]Tro

    把点按纵坐标排序,依次枚举,把它作为原点,然后把之后的点极角排序,把叉积的公式稍微化简一下,处理个后缀和统计答案. #include<cstdio> #include<cmath&g ...

  10. Exercise02_03

    import java.util.Scanner; public class Mi { public static void main(String[] args){ Scanner input = ...