Apache JMeter:在body中添加随机数据以供请求

时间:2017-06-28 10:57:43

标签: java random jmeter stress-testing

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

我想过调用register user方法,它会在数据库中添加用户。但如果电子邮件已存在,则不会发生数据库操作。

如何在正文数据中添加随机数?或者是否有其他方法可以强调测试与数据库连接的应用程序?

以下是一些截图: enter image description here enter image description here

控制器代码:

@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:/";
    }
}

3 个答案:

答案 0 :(得分:3)

  1. 使用变量名称为emailValue的Random Variable并在请求中发送$ {emailValue}

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

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

答案 1 :(得分:2)

看看JMeter Functions之类的:

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

更多建议:

答案 2 :(得分:0)

我在__UUID上的例子

enter image description here

对于POST请求,请确保在 HTTP标头管理器(例如, application / json )中具有正确的 Content-Type