Apache JMeter:在正文中为请求添加随机数据

Apache JMeter : Add random data in body for request

我正在 Apache JMeter 中对我们的应用程序进行压力测试。

我想到调用注册用户方法,这将在数据库中添加用户。但如果电子邮件已经存在,则数据库操作不会发生。

如何在正文数据中添加随机数?还是有其他方法可以对与数据库连接的应用程序进行压力测试?

以下是一些屏幕截图:

控制器代码:

@RequestMapping(value = "/person/add", method = RequestMethod.POST)
public String addPerson(@ModelAttribute("person") Person person, BindingResult bindingResult) {
    System.out.println("Person add called"+person.getUsername());
    person.setUsername(this.stripHTML(person.getUsername()));
    int personId = this.personService.addPerson(person);
    if (!(personId == 0)) {
        Person person1 = this.personService.getPersonById(personId);
        Collection<GrantedAuthority> authorities = new ArrayList<>();
        authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
        Authentication authentication = new UsernamePasswordAuthenticationToken(person1, null, authorities);
        SecurityContextHolder.getContext().setAuthentication(authentication);
        return "redirect:/canvaslisting";
    } else {
        return "redirect:/";
    }
}
  1. 使用 Random Variable 和变量名 emailValue 并在请求中发送 ${emailValue}

  2. 使用JDBC request到您的数据库中创建随机数或序列并保存在变量名emailValue

  3. 使用UUID函数创建uniqueId并发送到邮箱${uniqueId}@gmail.com 例如

看看JMeter Functions喜欢:

JMeter 函数可以在测试中的任何地方使用,因此您可以将它们直接放入您的请求正文中。

更多建议:

我的示例 __UUID

对于 POST 请求,确保 Content-TypeHTTP Header Manger , application/json 例如。