WebDriver, the most common tool for emulating a browser is fast and flexible. Both speed and flexibility are achieved because of its architecture. The library communicates with its various drivers using a JSON-based wire protocol. This is fast because the providers of the drivers know their browsers (although some drivers and browsers are faster than other), and flexible due to the open wire protocol.
Another aspect of speed is the fact that the tests can run “headless” using some drivers, i.e., with no UI. Finally, speed can be achieved by writing tests that handle waiting properly, instead of relying on fixed delays. In terms of flexibility, writing WebDriver-based tests is about programming and architecting a good test infrastructure.