I'm working on stress testing our application in Apache JMeter.
I thought of calling register user method which will add users in the database. But if the email already exists, then the database action does not take place.
How can I add a random number in body data? Or is there some other way I can stress test my application connected with database?
Here are some screenshots :
Controller code :
@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:/";
}
}
As per Using JMeter Functions guide __RandomString() function takes 3 parameters: Length of the desired random string. Source characters. If you need to store generated string into a JMeter variable you can provide variable name as 3rd argument.
RAND - Tells JMeter to choose a match at random. ALL - Tells JMeter to use all matches, and create a template string for each one and then append them all together.
Take a look at JMeter Functions like:
JMeter functions can be used anywhere in the test so you can put them directly into your request body.
Some more recommendations:
Use Random Variable with variable name emailValue and send ${emailValue} in request
Use JDBC request to your database to create random number or sequence and save in variable name emailValue
Use UUID function to create uniqueId and send in email ${uniqueId}@gmail.com for example
My example with __UUID
For POST request, make sure you have correct Content-Type in HTTP Header Manger , application/json for example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With