关闭

JMeter远程测试,每个实际测试人员都要学习的(2)

发表于:2014-3-14 10:55

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

 作者:iseedeadpeople    来源:51Testing软件测试网博客

  步骤4(a):通过GUI客户端启动JMeter测试
  现在轮到启动JMeter GUI客户端了。在MS-Windows环境下运行"bin/jmeter.bat"脚本,在UNIX环境下运行"bin/jmeter"脚本。测试人员会发现在运行(Run)菜单下,包含两个子菜单"Remote Start"和"Remote Stop",如图11-4所示。这两个子菜单中包含测试人员在属性文件中设置的JMeter远程服务器IP地址。此刻,请使用远程启动和停止来代替普通的JMeter启动和停止。
  图11-4  运行菜单
  步骤4(b):通过非GUI客户端启动JMeter测试
  还有另外一种方法,测试人员可以通过非GUI客户端来启动远程服务器。命令如下:
  jmeter -n -t script.jmx -r
  或者:
  jmeter -n -t script.jmx -R server1,server2...
  其他标志可能也有用。
  -Gproperty=value:在所有JMeter远程服务器中定义一个属性(可以多次出现)
  -Z:在测试结束后退出远程服务器。
  第一个例子会启动定义在JMeter属性remote_hosts中的远程服务器;而第二个例子会先定义远程服务器列表,接着启动它们。命令行客户端会在所有服务器停止后退出。
  1.手动配置JMeter远程测试
  在某些情况下,jmeter-server脚本不能正常工作(如果测试人员使用的操作系统不在JMeter开发者预期的范围内)。下面介绍如何启动JMeter远程服务器(对应上面的步骤2),其中包含了更多人工操作。
  步骤2(a):启动RMI注册
  从JMeter 2.3.1开始,JMeter远程服务器会自己启动RMI注册,因此这里的内容不适用于普通情况。如果要采用历史版本的操作方法,首先在JMeter远程服务器上定义JMeter属性server.rmi.create=false,并遵循如下指南。
  JMeter使用Remote Method Invocation(RMI)作为远程通信机制。因此,测试人员需要用到JDK "bin"目录中的RMI注册程序(名为"rRmiregistry")。在运行Rmiregistry之前,请确保如下jar存在于测试人员的系统claspath中:
  JMETER_HOME/lib/ext/ApacheJMeter_core.jar。
  JMETER_HOME/lib/jorphan.jar。
  JMETER_HOME/lib/logkit-1.2.jar。
  注册程序需要访问特定JMeter类。运行Rmiregistry无须参数。默认情况下应用程序会监听端口1099。
  步骤2(b):启动JMeter远程服务器
  一旦RMI注册程序运行起来,就启动JMeter远程服务器。JMeter启动脚本需携带"-s"选项。
  步骤3和步骤4同上面的介绍。
  2.一些小技巧
  JMeter/RMI要求建立一个从客户端到远程服务器的连接。这就会用到测试人员所选择的端口号,默认值是1099。JMeter/RMI还要求建立一个反向连接,目的是从远程服务器向客户端返回测试采样结果。这就会用到一个更高数字的端口号。如果在JMeter客户端与JMeter远程服务器之间存在任何防火墙或者网络过滤器,那么测试人员就需要确保它们已经被正确配置,并允许相关连接通信。如果有必要,请使用监听软件来观察通信的过程。
  如果JMeter运行在Suse Linux上,下面这些技巧对测试人员可能会有帮助。默认的安装可能会启动防火墙。在这种情况下,远程测试将无法正常工作。如果测试人员发现连接被拒绝后,可以通过下面的选项打开debugging。从JMeter 2.3.1版本开始,RMI注册由JMeter远程服务器启动;不过相关选项依然可以通过JMeter命令行传递。例如,"jmeter -s -Dsun.rmi.loader.logLevel=verbose"(省略了-J前缀)。另外这些属性还可以被定义在system.properties文件中。
  解决的方法是从etc/hosts中删除对127.0.0.1和127.0.0.2的回送(Loopback)。 当127.0.0.2的回送无效时,jmeter-server将无法连接到Rmiregistry。
  替换:
  `dirname $0`/jmeter -s "$@"
  为:
  HOST="-Djava.rmi.server.hostname=[computer_name][computer_domain]
  -Djava.security.policy=`dirname $0`/[policy_file]"
  `dirname $0`/jmeter $HOST -s "$@"
版权声明:本文出自 iseedeadpeople 的51Testing软件测试博客:http://www.51testing.com/?291148
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
相关文章
JMeter远程测试,每个实际测试人员都要学习
《2024软件测试行业从业人员调查问卷》,您的见解,行业的声音!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号