为了充分利用LoadRunner的场景控制和分析器,帮助咱们更好地控制脚本加载过程,从而展示更直观有效的场景分析图表。本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试。多线程
一般咱们在执行一些Server的压力测试的时候,总会不经意间想要一个Client完成对Server的调用示例,以致于咱们能够经过LoadRunner直接录制,对于测试人员来讲确实很方便。不过,开发人工具
员若是没有那么多时间去为测试人员服务,那可能就比较悲剧了,只能本身尝试去调用接口来完成压力测试了,这样就须要具有一些代码的功底了。固然若是完成接口代码的调用以后,还要保证post
LoadRunner可以正确录制,那确实有点麻烦了。不少时候,咱们的接口压力可能确实没法经过Client端来展示,那就只能在Server使用纯代码形式完成,要么是多线程,要么是重复调用,但对于测试性能
结果的收集就不那么方便了。因此咱们仍是要向办法利用一些工具的优点,取之所长,为咱们所用,LoadRunner的图表分析就是全部工具里面最优秀的,正好它也支持Java代码、C++等调用接口,这测试
里以Java为例。url
一般在一个工程文件下,咱们想对其中某一个Java文件进行调用,但这一个Java代码老是与其余的代码进行相互调用,因此我就须要引入不少的Java包或者是一些Jar包,下面就经过本次实践来详spa
细讲述LoadRunner调用Java代码的步骤了,我这里的环境是LoadRunner11,JDK1.6,工程开发是Java+Flex,完成的是一个统一登陆接口的测试。具体步骤以下:线程
一、将Java工程文件打包成jar格式,好比我这里的工程为logindemo,打包jar以后为logindemo.jarhtm
二、将Java工程文件下的lib目录找出来,lib文件中基本都是jar包,这个是工程文件的调用jar包
三、开启LoadRunner新建一个Java Vuser的脚本,先运行哈,看脚本是否正确执行,并保存文件
四、将logindemo.jar和lib下的jar所有导入到LoadRunner的ClassPath下,前提是要保证JDK文件要导入到LR中,在LR中的Vuser——》运行时设置里,以下图所示;
五、完成以上操做以后,这个时候咱们就能够在Vuser脚本中引入Java中的调用程序了,本人开始用import方式引入的时候,发现很奇怪,第一次竟然是成功的,但后台就一直都报找不到包,暂停了好久,因而用package的方式引入,发现仍是真能够,因而接下来就开始运行,发现很好用,并且程序调用也确实是ok的。
注意:这里其实没什么特殊的操做,主要是对于jar包的调用方式上,可能须要注意一下几点:
一、在引入jar包的时候,好比上图上面的引入jar文件夹的方式,就不可行,这个是一个疑点,因此就只能选择将全部的jar包一并导入就ok了
二、在Vuser中引入Java包文件时,import方式竟然是偶尔行偶尔不行,因此选择package方式是绝对可行的
三、在Vuser引入Java包以后运行时可能会出现一些报错,基本都是jar文件状况,只要找对了LoadRunner的Classpath就基本没问题,还有就是JDK必定要先导入,否则会直接提示进程被终止,
不能运行Java文件
四、LoadRunner对于Java文件的引入方式有多种,这里调用jar包的方式是咱们日常应用最多的,也是最方便的。固然还能够将Java编译后的class文件,复制到LoadRunner的安装路径下的
classes下,必须将Java class整个包文件夹所有复制才能执行,这种方式可须要花费调用的时间,并且最终要调用的jar包,仍是要到Classpath下导入才行。
至于Java业务逻辑的实现,能够在Java中实现,而后Vuser直接调用方法接口,淡然也能够在Vuser中完成。而后就能够到场景中设置虚拟用户数进行场景测试了,而后根据场景测试的结果得出分
析图表,跟其余录制以后的测试方式基本相同。