JMeter脚本的调试

本文版权归xmeter.net所有,欢迎转载,转载请注明出处。

在写JMeter脚本的时候经常需要“调试”脚本,比如,

 - 使用了某后置处理器(Post Processcors)抽取变量,然后需要知道抽取出的变量都有哪些,这些变量的值是什么

 - 抽取表达式的测试,包括测试数据的准备和表达式的验证

 -  BeanShell脚本的调试

调试执行过程中变量内容

脚本中经常会有一些变量的抽取,用于接下来脚本后续步骤的运行,比如用户在登录之后,需要取得该用户的token,作为后续请求的输入参数。当使用一个Post Processcors的时候无法确定是否抽取了正确的变量值。这种情况下可以使用Debug Sampler来帮助你看一下现在系统中所有的变量值。如下图所示的脚本中,加了个正则表达式的后置处理器,查找www.xmeter.net首页中出现的“script”标签,通过在其后加一个Debug Sampler就能知道抽取出的变量的个数,以及各变量的值。

如下图所示,Debug Sampler中打印出来的各个变量的名称,以及对应的值。

调试正则表达式

正则表达式在编写脚本的过程中会经常被用到,那么如何在JMeter中调试写好的正则表达式呢?在“结果查看树”中,提供了一个测试正则表达式的地方,如下图所示,选择“RegExp Tester”,

“Response data”视图会被切换成“RegExp Tester”,如下图所示,在“Regular expression”输入框中输入你想测试的表达式,点击“Test”按钮,就可以对正则表达式进行测试,在下面的文本列表框中显示的就是正则表达式的运行结果。与之类似,JMeter还提供了“CSS/JQuery Tester”,“JSON Path Tester”等,利用这个工具可以对返回的内容进行相应表达式的测试。

模拟数据的生成

JMeter第三方提供了一个“Dummy Sampler”,该插件允许你“造数据”。假如在写脚本的时候,被测系统还没有完全准备好,或者你的脚本需要处理一些边界条件,后端的服务暂时无法给你提供某些数据,这种情况下你就可以利用Dummy Sampler提供的功能造出一些数据,先保证你的脚本能够正常运行,在后端服务开发完成后切换到正常的服务调用即可。Dummy Sampler的使用请参见这篇文章

BeanShell脚本调试

在利用BeanShell进行开发脚本的过程中,有的时候需要对脚本的变量打印出来进行查看。如下图所示,可以使用两种办法,一个是通过JMeter内置的log对象提供的方法info,通过该方法打印出来的日志会显示在JMeter的日志中,在IDE中如下所示,该日志也会打印在 “-j”参数指定的日志文件中。另外一种是打印到控制台,通过System.out.println,如下图所示打印的“world”。

综上所述,JMeter提供了一些用于在脚本开发、运行过程中的一些调试手段,可以让使用者非常方便的了解脚本的执行情况,熟练掌握这些技能对加速脚本的开发过程大有裨益。

关于我们

XMeter成立于2016年,是一家领先技术的性能测试持续集成咨询与服务提供商。我们致力于提供给客户可靠,简单,低成本的在线和企业性能测试解决方案。

推荐阅读更多精彩内容