这是一个普通的阶层算法,我们把这个方法放在lrjar类中,编译通过后通过Eclipse的Export功能导出为JAR文件。接着新建一个Java Vuser脚本,通过运行设置Classpath加载这个JAR包,然后编写下面的代码完成调用:
import lrapi.lr; import jar.lr.cloud.jarlr; public class Actions { public int init() throws Throwable { return 0; }//end of init public int action() throws Throwable { jarlr jarcall=new jarlr(); double result; lr.start_transaction("jarcall"); result=jarcall.n(10); lr.end_transaction("jarcall", lr.AUTO); System.out.println(result); return 0; }//end of action public int end() throws Throwable { return 0; }//end of end } |
通过运行这个代码可以看到当我们做10的阶层计算时,所需要开销的事务时间为:
Notify: Transaction "jarcall" started. Notify: Transaction "jarcall" ended with "Pass" status (Duration: 0.0362). System.out: 3628800.0 |
如果我们修改为计算150的阶层时,所需要开销的事务时间变为:
Notify: Transaction "jarcall" started. Notify: Transaction "jarcall" ended with "Pass" status (Duration: 0.0440). System.out: 5.7133839564458505E262 |
由于计算时间非常短,通过LR已经很难保证测试结果的精度了。当我们将脚本加载到场景中多用户并发时就可以得到JAR包中的方法执行响应时间,帮助我们定位代码级别的性能问题。
(未完,精彩待续)
连载一 连载二 连载三 连载四 连载五 连载六 连载七 连载八 连载九 连载十
连载十一 连载十二 连载十三 连载十四 连载十五 连载十六 连载十七 连载十八
本文选自《51Testing软件测试作品系列》之十——《性能测试进阶指南——LoadRunner11实战》。
本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: