我有一个cakephp应用程序,我想用JMeter测试它 . 在我的应用程序前面,我们需要先登录,我们可以在登录后访问该页面 . 我在JMeter中编写了参数名称和值,因此JMeter可以自动登录 . 我这样写:
名称: Value :
data[User][username] admin
data[User][password] 12345
之后,我添加了两个HTTP请求,第一个是访问默认页面,第二个是访问索引表单 . 但是当我运行应用程序时,我在结果中找到了这个:
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2012/07/06 15:49:33 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Starting 5 threads for group J Meter User.
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread started: J Meter User 1-1
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: All threads have been started
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread finished: J Meter User 1-1
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Ending thread J Meter User 1-1
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread started: J Meter User 1-2
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread finished: J Meter User 1-2
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Ending thread J Meter User 1-2
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread started: J Meter User 1-3
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread finished: J Meter User 1-3
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Ending thread J Meter User 1-3
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread started: J Meter User 1-4
2012/07/06 15:49:33 INFO - jmeter.threads.JMeterThread: Thread finished: J Meter User 1-4
2012/07/06 15:49:33 INFO - jmeter.engine.StandardJMeterEngine: Ending thread J Meter User 1-4
2012/07/06 15:49:34 INFO - jmeter.threads.JMeterThread: Thread started: J Meter User 1-5
2012/07/06 15:49:34 INFO - jmeter.threads.JMeterThread: Thread finished: J Meter User 1-5
2012/07/06 15:49:34 INFO - jmeter.engine.StandardJMeterEngine: Ending thread J Meter User 1-5
2012/07/06 15:49:34 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2012/07/06 15:49:34 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
2012/07/06 15:49:34 INFO - jmeter.engine.StandardJMeterEngine: Test has ended on host null
谁能告诉我如何使用JMeter访问cakephp中的登录表单,以便我可以在我的应用程序中进行负载测试?
2 回答
JMeter日志文件不是't very informative, I'建议使用View Results Tree listener来可视化响应并调试脚本,因为它甚至可以呈现HTML .
有关登录事件的正确模拟,请参阅ASP.NET Login Testing with JMeter指南 . 您的cakephp应用程序中将有不同的动态参数,但是一般方法应该是相同的 .
通常,您需要知道
form
元素中的页面源中您知道哪个URL .并检查表单
method
类型 . 它通常是POST
. 当用户登录时,通常会将某些内容存储在他/她这样的cookie中,例如SESSION_ID
或者我不确定cakePHP是如何工作的 .因此,创建一个
Http sampler
从表单发布到该URL并提取会话ID值 .并且您将需要
Http Cookied Manager
,以便您可以存储您的session_id或您使用的任何标识符,以便以登录用户身份继续 .因此,除非您注销,否则您之前授权的具有该会话ID的所有请求都可以访问受保护的页面 .
这几乎总结了它,不应该太难 .