LoadRunner调用Java程序—性能测试-转载
为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表。本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试。
通常我们在执行一些Server的压力测试的时候,总会不经意间想要一个Client完成对Server的调用示例,以至于我们可以通过LoadRunner直接录制,对于测试人员来说确实很方便。不过,开发人
员如果没有那么多时间去为测试人员服务,那可能就比较悲剧了,只能自己尝试去调用接口来完成压力测试了,这样就需要具备一些代码的功底了。当然如果完成接口代码的调用之后,还要保证
LoadRunner能够正确录制,那确实有点麻烦了。很多时候,我们的接口压力可能确实无法通过Client端来展现,那就只能在Server使用纯代码形式完成,要么是多线程,要么是重复调用,但对于测试
结果的收集就不那么方便了。所以我们还是要向办法利用一些工具的优势,取之所长,为我们所用,LoadRunner的图表分析就是所有工具里面最优秀的,正好它也支持Java代码、C++等调用接口,这
里以Java为例。
通常在一个工程文件下,我们想对其中某一个Java文件进行调用,但这一个Java代码总是与其他的代码进行相互调用,所以我就需要引入很多的Java包或者是一些Jar包,下面就通过本次实践来详
细讲述LoadRunner调用Java代码的步骤了,我这里的环境是LoadRunner11,JDK1.6,工程开发是Java+Flex,完成的是一个统一登录接口的测试。具体步骤如下:
1、将Java工程文件打包成jar格式,比如我这里的工程为logindemo,打包jar之后为logindemo.jar
2、将Java工程文件下的lib目录找出来,lib文件中基本都是jar包,这个是工程文件的调用jar包
3、开启LoadRunner新建一个Java Vuser的脚本,先运行哈,看脚本是否正确执行,并保存文件
4、将logindemo.jar和lib下的jar全部导入到LoadRunner的ClassPath下,前提是要保证JDK文件要导入到LR中,在LR中的Vuser——》运行时设置里,如下图所示;
5、完成以上操作之后,这个时候我们就可以在Vuser脚本中引入Java中的调用程序了,本人开始用import方式引入的时候,发现很奇怪,第一次居然是成功的,但后台就一直都报找不到包,暂停了很久,于是用package的方式引入,发现还是真可以,于是接下来就开始运行,发现很好用,而且程序调用也确实是ok的。
注意:这里其实没什么特殊的操作,主要是对于jar包的调用方式上,可能需要注意一下几点:
1、在引入jar包的时候,比如上图上面的引入jar文件夹的方式,就不可行,这个是一个疑点,所以就只能选择将所有的jar包一并导入就ok了
2、在Vuser中引入Java包文件时,import方式居然是偶尔行偶尔不行,所以选择package方式是绝对可行的
3、在Vuser引入Java包之后运行时可能会出现一些报错,基本都是jar文件情况,只要找对了LoadRunner的Classpath就基本没问题,还有就是JDK一定要先导入,不然会直接提示进程被终止,
不能运行Java文件
4、LoadRunner对于Java文件的引入方式有多种,这里调用jar包的方式是我们平常应用最多的,也是最方便的。当然还可以将Java编译后的class文件,复制到LoadRunner的安装路径下的
classes下,必须将Java class整个包文件夹全部复制才能执行,这种方式可需要花费调用的时间,而且最终要调用的jar包,还是要到Classpath下导入才行。
至于Java业务逻辑的实现,可以在Java中实现,然后Vuser直接调用方法接口,淡然也可以在Vuser中完成。然后就可以到场景中设置虚拟用户数进行场景测试了,然后根据场景测试的结果得出分
析图表,跟其他录制之后的测试方式基本相同。
LoadRunner调用Java程序—性能测试-转载的更多相关文章
- LoadRunner调用Java程序—性能测试
为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我 ...
- 在ORACLE触发器里调用JAVA程序
因为项目需要,有一个已经写好的Java程序,想要在Oracle某个表的触发器中调用,以使得每次数据更新时,调用这个JAVA程序,来修改后台某个数据. 现将过程记录如下: 1.编写JAVA程序 publ ...
- C#调用java程序
前言: 最近跟项目组的人合作一个项目,由于之前我用的是java写的一个与android通信的程序,现在另一个同事来编写界面程序,由于C#编写起来比较方便,而我又不想重新写之前java的那段代码,于是需 ...
- LoadRunner调用java函数测试oracle
LoadRunner调用java函数测试oracle 测试oracle的方法有很多,可以使用loadrunner的oracle协议直接调用oracle进行测试,也可以调用开发的java程序对oracl ...
- C通过JNI反向调用JAVA程序方法
JNI反向调用JAVA程序 引述:上文讲过java线程---OS线程的关系,然后C怎样反向调用JAVA程序方法是我们这篇讲的重点 1.ThreadTest中添加run()方法 2.编译ThreadTe ...
- Python中调用Java程序包
<原创不易,转载请标明出处:https://www.cnblogs.com/bandaobudaoweng/p/10785766.html> 开发Python程序,需求中需要用到Java代 ...
- oracle触发器调用java程序
1.创建java程序:接收存储过程传递的参数,发送socket通信. create or replace and compilejava source named jym as import java ...
- Oracle触发器反向调用Java程序
导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了, 1.操作系统需要拥有支持loadjava命令的jdk. 2.加载j ...
- python调用java程序--jpype
官方网站:http://jpype.sourceforge.net/ 官方使用文档:http://jpype.sourceforge.net/doc/user-guide/userguide.html ...
随机推荐
- Ajax请求过程中显示“进度”的简单实现
Ajax在Web应用中使用得越来越频繁.在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击 ...
- 微信支付JS API使用心得
微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便 ...
- 一个优秀php程序员应具备什么样的能力
1:php能力 1.1 熟悉 一种或者几种框架,并可以用于开发 1.2 了解 这些框架中的优点与缺点 1.3 假如要你选择框架,你会使用哪种最适合你开发 2:数据库能力 2.1:能写一些简单的sql语 ...
- PL/SQL — 存储过程
存储过程子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出.一个存储过程通常包含定于部分,执行部分,Exc ...
- 一步步学习ASP.NET MVC3 (4)——Razor(2)
请注明转载地址:http://www.cnblogs.com/arhat 在上一章,我们介绍了Razor的一些基本语法,从Razor中我们可以出ASP.NET MVC的视图引擎给我们带来的便利,但是同 ...
- ios阻止锁屏 --老代码,供参考
// Disable the idle timer [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; // Or fo ...
- JSON和JSONP,也许你会豁然开朗,含jQuery用例
前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可 ...
- Python中异常(Exception)的总结
Python中的异常处理 异常处理的语句结构 try: <statements> #运行try语句块,并试图捕获异常 except <name1>: <statement ...
- Angular js总结
之前看过一些angular js的相关技术文档,今天在浏览技术论坛的时候发现有问angular js是做什么用的? 于是有了一个想法,对于自己对angular js 的认知做一个总结. 总结: ang ...
- 来自内部的XSS攻击的防范
来自内部的XSS攻击的防范 引入:前面我们分2篇文章分别探讨了来自外部的XSS攻击和来自内部的XSS攻击,现在我们来专门探讨如何防范来自内部的XSS攻击. 实践:其实从 http://www.2cto ...