In order to automate hundreds or thousands of end-to-end tests, and run them concurrently, we need a testing environment that meets certain requirements.
Applications on the environment do not have frequent restarts or resource consumption issues; and there is some form of change control to prevent unexpected deployments.
We run each of your tests in a separate worker, each of which acts as an individual user. The test environment (and dependent databases, email servers, etc.) must have the resources to support as many concurrent users as you have tests.