您的位置:首页 > 产品设计 > UI/UE

How to Get Started With JMeter: Part 2 - Building Scripts and Running JMeter

2016-12-08 14:46 573 查看
原文来自BlazeMeter的How to Get Started With JMeter系列,总共三部分,本文为第二部分。本文适合初级使用者。本文关注的重点是:创建脚步、在Non-GUI模式下运行测试、日志和错误信息、调试、配置jmeter、参数化和相关性。步骤如下:
一、How to build a script(略,主要介绍脚步录制,可参考博文jmeter之脚步录制
二、How to run jmeter
录制完脚步之后,建议在GUI模式下,设置单个或者低量的thread count,以及listeners,运行下,确认一切正常。确认无误后,在Non-Gui模式下,禁用listeners或者删除(listeners开着耗内存)。步骤如下:
Option A: Running from a single machine
在cmd下输入:jmeter -n -t /路径/test_script.jmx -l /路径/test_results.jtl (这个便是non-GUI模式,test_script就是你之前录制的脚本)。tip:确认运行Non-GUI模式命令的时候,去除了listeners,要查看结果,可以通过listeners打开test_results.jtl。
Option B: Running from distributed mode(略,后面添加)

Logging and Error Messages

jmeter的日志文件能够显示错误信息。点击Options > Log Viewer 在底部就能看到了。


也可以在以jtl结尾的日志文件中查看。如果碰到错误,也可以在线程组中设置,在这里你可以选择继续测试,开始下一个线程循环,停止线程,停止测试,或现在停止测试。
Debugging
如果软件运行的时候无法工作,你就需要调试并修复他们,jmeter调试方式如下:
Real Time Sampler/Expression Debugging
1.在view result tree listeners中的RegExp Tester测试你的正则表达式
2.有时候某些测试在RegExp Tester中运行良好,但是在实际测试中却无法运行,出现这种情况就是由于动态文本的问题(参照flash动态文本)。


上述情况,可以通过debug sampler轻松解决
1.在view result tree listener前面添加debug sampler,然后运行测试
2.运行完成后,打开view result tree listener,并且选择debug sampler



Debugging JMeter Elements
可以对jmeter测试脚本中的所有元件运行debug log。步骤如下
1.在jmeter.properties文件中取消对jmeter.loggerpanel.display = true的注释。 此更改将在每次JMeter启动时打开日志查看器。
2.测试树中,选择你想要查看调试信息的元件。
3.点击菜单栏中的帮助按钮-->点击enabled debug,然后运行测试,就可以看到了。


4.要取消选中元件的debug,通过点击帮助->disabled debug.

Configuring JMeter

You can modify your JMeter properties at user.properties in the /bin directory.
OR, you can create your own copy of jmeter.properties and then specify it in the command line.

Parameterization(参数化)

如果你的测试需要引入大量的外部数据,比如大量用户数据要引入对应线程,那强烈建议你使用参数化。方法如下:

1.命令行参数或属性文件(例如,将测试主机下的应用程序设置为“jmeter -Jhost = www.example.com”,并在HTTP请求采样器中将其作为“$ {__ P(host,)}”访问 )。
2.通过CSV Data Set Config元件中的CSVRead()函数保存的CSV文件。
3.任意文件类型通过FileToString() or StringFromFile()函数。
4.数据库通过JDBC测试元件

Correlations(相关性)

上述动态数据(以及更多)常常会在您的脚本中出现问题,即使您的应用程序运行正常。
使用JMeter,您需要为您需要参数化的每个值采取三个步骤:
1.确定值。 对于在JMeter记录中捕获的每个请求,请求参数都在文本框中清楚地显示,并且它们通常标记为“authenticity_token”,或者它们的值是一长串随机字符串如“33aKfmjPhNmzVBFfxKEx6cmB9C5sjSRAd9VJEaJpba8”。
2.找出哪些请求发出了值。 例如:“authenticity_token”(认证令牌)可能在对登录请求的响应中发出。 然而,它并不总是紧接在前面的请求后立即发出该值。 在这种情况下,请查看JMeter的结果树以检查响应。


3.使用正则表达式提取器,匹配与预期的内容相符的模式。以上面的例子,这可能在文本中显示为:在这种情况下一个正则表达式将是<input name =“authenticity_token”type =“hidden”value =“(.+?”)/>。 括号告诉JMeter保留它们中找到的值,然后将该值放入您为提取器提供的Reference Name中,我们可以称之为“authenticity_token”。



4.The JMeter variable format would then be ${authenticity_token}, so you finally go and replace the original captured value wherever it appears in subsequent requests with the variable.



这篇文章不是很懂,以后做补充和修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thread 相关性 single