Jmeter 使用教程 系列(2) 基础入门

这篇我用java写个Rest接口,使用Jmeter来多线程调用

下一篇:多线程头部添加Token调用业务接口

目录

1:java接口

2:Jmeter测试案例

2.1:线程组

2.2:HTTP Request

3:监听器-查看结果树

3:启动测试

4:全局Token

4.1:添加正则表达式提取器

4.2:BeanShell 取样器将token值设为全局变量

4.3:.添加请求头部管理器作为全局使用


1:java接口

package com.example.demo.controller;
import java.util.ArrayList;
import java.util.List;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.pojo.Students;

@RestController
@RequestMapping("/user")
public class UserController {
	/**
	 * @param number 生成List的长度
	 * @return
	 * @throws InterruptedException
	 */
	@RequestMapping(value = "/{number}",method = RequestMethod.GET)
	public List getStudents(@PathVariable  int number) throws InterruptedException{
		System.out.println(number+"开始");
		Thread.sleep(5000);
		List list = new ArrayList();
		for(int i=0;i

用到的实体类

package com.example.demo.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.ToString;

@Data
@AllArgsConstructor
@ToString
public class Students {
	private String name;
	private int age;
	private char sex;

}

2:Jmeter测试案例

2.1:线程组

Jmeter 使用教程 系列(2) 基础入门_第1张图片

2.2:HTTP Request

Jmeter 使用教程 系列(2) 基础入门_第2张图片

这里也可以直接在路径填:http://localhost/8080/user/${__Random(10,100,number)}

注意:路径后面的参数是生成的随机的10-100的整数;取函数可以参考下图

Jmeter 使用教程 系列(2) 基础入门_第3张图片

3:监听器-查看结果树

Jmeter 使用教程 系列(2) 基础入门_第4张图片

3:启动测试

查看结果树

Jmeter 使用教程 系列(2) 基础入门_第5张图片

后端打印的:

Jmeter 使用教程 系列(2) 基础入门_第6张图片

可以看到结果是对的,但是注意,Jmeter中性别是中文,显示乱码,有两种这是方式可以解决

参考:https://www.cnblogs.com/xiaxiaoxu/p/9607017.html

这是Get请求,Post只是参数以Json格式写在 Body Data消息体中,也可以写在Parameters中

4:全局Token

但是前面的都是直接调用接口,那现在的接口一般都是需要登陆才能操作,所以需要在登录之后把返回的token作为全局token,再去调用其他业务接口

首先按照前面的例子请求登录接口,再:

4.1:添加正则表达式提取器

  • (1)引用名称 token
  • (2)正则表达式  "token":"(.+?)"
  • (3)模板 用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
  • (4)匹配数字 0代表随机取值,1代表全部取值,通常情况下填0
  • (5)缺省值 如果参数没有取得到值,那默认给一个值让它取

Jmeter 使用教程 系列(2) 基础入门_第7张图片

4.2:BeanShell 取样器将token值设为全局变量

${__setProperty(newtoken,${token},)}

Jmeter 使用教程 系列(2) 基础入门_第8张图片

4.3:.添加请求头部管理器作为全局使用

${__property(newtoken)}

Jmeter 使用教程 系列(2) 基础入门_第9张图片

 

完成以上就可以使用jmeter完成登录后的其他操作了

 

你可能感兴趣的:(Jmeter,jmeter)