我有一个cakephp应用程序,我想用JMeter测试它。在我的应用程序的前面,我们需要先登录,我们可以在登录后访问该页面。我在JMeter中编写了参数名称和值,因此JMeter可以自动登录。我这样写:
name: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中的登录表单,以便在我的应用程序中进行负载测试吗?
答案 0 :(得分:1)
JMeter日志文件不是非常有用,我建议使用View Results Tree监听器来可视化响应并调试脚本,因为它甚至可以呈现HTML。
要正确模拟登录事件,请参阅ASP.NET Login Testing with JMeter指南。您的cakephp应用程序中将有不同的动态参数,但是一般方法应该是相同的。
答案 1 :(得分:0)
通常您需要知道您登录的是哪个网址。如果您不知道它位于form
元素的页面来源中。
并检查表单method
类型。通常是POST
。当用户登录时,通常会将某些内容存储在他/她这样的cookie中,例如SESSION_ID
或者我不确定cakePHP是如何工作的。
因此,创建一个Http sampler
以从表单发布到该网址并提取会话ID值。
您需要Http Cookied Manager
,这样您就可以存储您的session_id或您使用的任何标识符,以便以登录用户身份继续。
因此,除非您注销,否则您之前授权的具有该会话ID的所有请求都可以访问受保护的页面。
几乎总结一下,不应该太难。