LoadRunner中的Java Vuser

发表于:2017-4-18 13:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:尹文姣    来源:伯乐在线

  一:引入java Vuser
  1:为什么要使用java Vuser?
  1)有些使用C解决起来很麻烦,但是使用java很方便,存在强大的开源类库
  2)更方便的使用自定义的类,节省开发脚本的时间。特别是对于自定义的一些算法或类,更是方便
  二:LoadRunner中两种语言的区别
  1:Java Vuser与C的区别
  1)语言不同,语法不同,支持的函数不同
  2)C是解释的,Java Vuser的是编译的,出错提示更准确。(Java Vuser是编译的,使用Java的编译器Javac,这样出错提示更准确)
  三:缺点和不足
  1)有些语法支持的不好,例如:静态代码块,尽量少用不常用的语法和功能
  静态代码块例子
  四:需要注意的是:
  1)如果在脚本中包括自定义的类,你需要确保这个类是线程安全的,如果不确定,使用进程方式运行,这样可以每个进程一个虚拟机,充分的隔离
  2)没有修改,只有读肯定是线程安全的
  3)操作不同的对象或者变量是线程安全的
  4)线程安全是很难检测的。往往在很少用户并发时很难发现,甚至很多程序运行多年才发现,相对来说,在大压力下且或CP资源紧张的时候更容易发现
  五:编写Java Vuser的一般步骤
  1)了解被测项目业务和所使用的技术,分析是否使用JavaVuser
  2)在eclipse中编写一个正确的压力模拟代码
  3)将eclipse中的代码移如LoadRunner中的Java Vuser
  4)结合业务特点,对脚本进一步的增强
  5)使用Controller运行多用的Java Vuser
  六:从web转化为Java Vuser
  1)将要转换的web脚本复制出来并保存到文本文件中
  2)参数界定符部分需要{}手动修改成<>
  3)打开cmd
  4)切换到C:\Program Files (x86)\HP\LoadRunner\dat
  5)运行..\bin\sed-f-web_to_jave.sed  c:\web.txt > c:\java.txt
  6)创建参数并进行其他操作
  七、Java Vuser适用范围
  1)用Java Vuser实现无法录制的测试需求。比如:含有控件的web应用、一些和媒体播放、文件下载等相关的应用。
  2)用Java Vuser测试基于Java语言的应用系统性能。比如:核心算法或业务的执行效率、java应用中不能录制的业务模块。
  八、loadRunner的常用Java API
  loadrunner为访问Vuser函数提供了特定的Java API,这些函数都是lrapi.lr类的静态方法。借助Java API可以大大增强Java虚拟用户脚本的可用性。
  1、 事物函数(Transaction Function)
  Int  lr.start_transaction(String transaction_name)  标记事物开始
  Int  lr.end_transaction(String transaction_name,int status) 标记事物结束
  2、 信息函数
  String  lr.get_group_name();返回Vuser组的名称
  String  lr.get_host_name();返回执行Vuser脚本的负载生成器的名称
  String  lr.get_master_host_name();返回运行controller计算机的名称
  Int     lr.get_scenario_id();返回当前方案的ID
  Int     lr.get_vuser_id();返回当前vuser的ID
  3、 运行时函数
  Void lr.peek_events();提示可以暂停vuser脚本的位置
  Int   lr.rendezvous(string rendezvous_name);在vuser脚本中设置集合点
  Void  lr.think_time(double time):暂停脚本执行,模拟实际用户操作直接的思考时间。
  4、 字符串函数
  String  lr.eval_string(string instring)用当前值替换参数
  Int    lr.eval_int(String name)用整型值替换参数
  Int    lr.next_row(string dat_file)指示使用指定参数的下一行数据
  5、 消息函数
  Int  lr.debug_message(int  message_level, string message):向输出窗口发送测试过程的调试消息。
  Int  lr.error_message(String message)向Vuser日志文件和输出窗口发送错误消息以及位置的详细信息。
  Int  lr.log_message(string message) 向Vuser日志文件发送消息
  Int  lr.message(string message) 向输出窗口发送消息
  Int  lr.output_message(string message):向日志文件和输出窗口发送消息和位置信息
  Int  lr.vuser_status_message(string message):向controller窗口中的“Vuser状态”区域发送消息
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号