Controllers drive the processing of a test and come in two flavors:
- Sampler controllers: Sampler controllers send requests to a server. These include HTTP, FTP, JDBC, LDAP, and so on. Although JMeter has a comprehensive list of samplers, we will mostly focus on HTTP request samplers in this book, since we are focusing on testing web applications.
- Logical controllers: Logical controllers, on the other hand, allow the customization of the logic used to send the requests. For example, a loop controller can be used to repeat an operation a certain number of times. The if controller is for selectively executing a request, the while controller for continuing to execute a request till a condition becomes false, and so on. At the time of writing, JMeter 3.2 comes bundled with 17 different controllers, each serving different purposes.