7、使用SpringBoot 2.0快速编写API测试接口
简介
使用java的框架springBoot快速编写几个API接口测试
SpringBoot快速创建导航
接口列表
1、模拟GET请求,用户列表接口
2、模拟POST请求,用户登录接口
package com.jmeter.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class HelloController {
@RequestMapping(value = "users", method = RequestMethod.GET)
public @ResponseBody
Object users() {
List<String> userList = new ArrayList<>();
userList.add("tom");
userList.add("marry");
userList.add("jack");
System.out.println("get request, users api");
return userList;
}
@RequestMapping(value = "login", method = RequestMethod.POST)
public @ResponseBody
Object login(String name, String pwd) {
Map<String, Object> map = new HashMap<>();
if ("123".equals(pwd) && "jack".equals(name)) {
map.put("status", 0);
} else {
map.put("status", -1);
}
System.out.println("get request, login api");
return map;
}
}
http://localhost:8080/users
8、创建Jmeter测试计划,快速压测一个接口
简介:
通过带着why来学习,快速创建一个测试计划
- 新建线程组,10个并发用户数,10s完成,执行1次
- http请求设置参数,get请求:访问/users用户列表
- 查看结果树,执行查看每个请求的响应结果
- springboot控制台中输出日志
章节三 Jmeter核心组件讲解和实操
9、Jmeter基础功能组件介绍线程组和Sampler
简介:讲解Jmeter里面GUI菜单栏主要组件
1、添加->threads->线程组(控制总体并发)
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程
准备时长(Ramp-Up Period(in seconds)):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程
循环次数:每个线程发送的次数,假如值为5,100个线程,则会发送500次请求,可以勾选永远循环,若不勾选永远循环且也没有写循环几次在执行压测的时候会默认勾选forever。
2、线程组->添加-> Sampler(采样器) -> Http (一个线程组下面可以增加几个Sampler)
名称:采样器名称
注释:对这个采样器的描述
web服务器:
默认协议是http
默认端口是80
服务器名称或IP :请求的目标服务器名称或IP地址
路径:服务器URL
Follow Redirects:重定向302错误
Use KeepAlive:保持长连接
Use multipart/from-data for HTTP POST :当发送POST请求时,使用Use multipart/from-data方法发送,默认不选中。
3、查看测试结果
线程组->添加->监听器->察看结果树
Write results to file /Read from file: 保存结果到文件中或从文件中读
Text:接口执行结果,绿色成功,红色失败
Sampler result:采样器结果,线程名称,开始时间,延迟时间,状态码...
Request:请求方式,URL, 请求数据,cookie信息,
Response data:响应结果