Data-driven web tests can be long, especially if you need to navigate to a particular page before testing a different field value each time. In most cases, however, this is necessary, as it is unsafe to make assumptions about the state of the web page after a previous data-driven test. One effective way to speed them up, however, is to run them in parallel. You can configure ThucydidesParameterizedRunner
tests to run in parallel by using the Concurrent annotation.
@RunWith(ThucydidesParameterizedRunner.class) @Concurrent public class WhenEnteringPersonalDetails {...
By default, this will run your tests concurrently, by default using two threads per CPU core. If you want to fine-tune the number of threads to be used, you can specify the threads annotation property.
@RunWith(ThucydidesParameterizedRunner.class) @Concurrent(threads="4") public class WhenEnteringPersonalDetails {...
You can also express this as a value relative to the number of available processors. For example, to run 4 threads per CPU, you could specify the following:
@RunWith(ThucydidesParameterizedRunner.class) @Concurrent(threads="4x") public class WhenEnteringPersonalDetails {...