JMeter进行web测试
- 1.对网页进行负载测试
- 新建线程组
- 添加默认 HTTP 请求属性
- 添加cookie支持
- 添加HTTP请求
- 添加监听器以便于查看结果
- 登录网站
- 2. 测试本地web项目
- 3. 其他
- 使用 URL 重写处理用户会话
- 使用标题管理器
参考JMeter用户手册 https://jmeter.net/usermanual/build-web-test-plan.html
1.对网页进行负载测试
首先新建测试计划
新建线程组
Ramp-Up Period 中,保留默认值 1 秒。该属性告诉 JMeter 在启动每个用户之间延迟多长时间。例如,如果您输入 5 秒的 Ramp-Up Period,JMeter 将在 5 秒结束时完成启动所有用户。因此,如果我们有 5 个用户和 5 秒的 Ramp-Up Period,那么启动用户之间的延迟将为 1 秒(5 个用户 / 5 秒 = 1 个用户/秒)。如果您将该值设置为 0,那么 JMeter 将立即启动您的所有用户。
添加默认 HTTP 请求属性
添加cookie支持
新建HTTP Cookie管理器
添加HTTP请求
如果使用之前的HTTP请求默认值,留空即可
HTTP Request Defaults 元素不会告诉 JMeter 发送 HTTP 请求。它只是定义了 HTTP 请求元素使用的默认值。
添加监听器以便于查看结果
这里建议添加后端监听器、汇总报告以及查看结果树
登录网站
添加请求后注意下面添加参数,本质上登录是个POST请求
然后,线程组的位置可以选择每次登录是不是同一个用户
其他设置:
2. 测试本地web项目
不再赘述,直接上图
3. 其他
使用 URL 重写处理用户会话
如果您的 Web 应用程序使用 URL 重写而不是 cookie 来保存会话信息,那么您需要做一些额外的工作来测试您的站点。
为了正确响应 URL 重写,JMeter 需要解析从服务器接收到的 HTML 并检索唯一的会话 ID。使用适当的HTTP URL 重写修饰符 来完成此操作。只需在修饰符中输入会话 ID 参数的名称,它就会找到它并将其添加到每个请求中。如果请求已经有值,它将被替换。如果“缓存会话 ID?” 被选中,然后最后找到的会话 id 将被保存,如果之前的 HTTP 样本不包含会话 id,则将使用它。
将 URL 重写修饰符添加到 SimpleController,从而确保它只会影响该 SimpleController 下的请求。
在图 2 中,我们看到了 URL 重写修改器 GUI,它只有一个字段供用户指定会话 ID 参数的名称。还有一个复选框用于指示会话 ID 应该是路径的一部分(由“;”分隔),而不是请求参数
使用标题管理器
HTTP Header Manager允许您自定义 JMeter 在 HTTP 请求标头中发送的信息。此标头包括“User-Agent”、“Pragma”、“Referer”等属性。
可以参考
HTTP_Header_Manager
HTTP Header Manager和HTTP Cookie Manager一样,应该在线程组级别添加,除非出于某种原因,您希望在测试中为不同的HTTP Request对象指定不同的标头。