This chapter should have taught you about how to set up a basic project using Maven to download your dependencies, configure your classpath, and build your code. You will be able to run your tests in parallel with multiple instances of the same browser in TestNG, as well as automatically downloading driver binaries using a Maven plugin to make your test code very portable. You should know how to determine the correct number of threads to use in your tests, as well as overriding this if required. Finally you will have learned how to run Firefox and Chrome in headless mode so that you can run your tests without interruption locally, and without a desktop environment on CI servers.
In the next chapter, we are going to have a look at how to cope when things go wrong. We will also examine how we can keep track of things, now that we have lots of tests all running at the same time.