Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to speed things up, perhaps by running the tests in parallel? #4286

Open
cb-sarathkumar opened this issue Oct 7, 2024 · 3 comments

Comments

@cb-sarathkumar
Copy link

Your question

My regression suite currently takes about 2 hours to run, and we're exploring options to reduce this execution time. Is it possible to speed things up, perhaps by running the tests in parallel?

@soulgalore
Copy link
Member

Hi @cb-sarathkumar you can run the tests and split them on multiple machines? If you run on the same machine, you need to make sure that they do not interfere with each other (like multiple Chrome/Firefox instances reaches memory/CPU limits etc).

@cb-sarathkumar
Copy link
Author

cb-sarathkumar commented Oct 8, 2024

Thanks for the response! I can definitely run the tests on multiple machines. If I use the --multi tag, will it execute the tests in parallel?

We're using the following file as a runner for the entire suite:

export default async function regressionRunner(context, commands) { await subscriptionRunner(context, commands); await customerRunner(context, commands); await checkoutRunner(context, commands); }

  • If I run this file with the --multi flag, will the tests within it run in parallel?.
  • I can run multiple docker run for these runner's[subscriptionRunner, customerRunner] individually but we are looking for a consolidated report for the regressionRunner.

Also, it would be great to know if I can run the number of iterations with the --n tag in parallel as well.

@soulgalore
Copy link
Member

If I run this file with the --multi flag, will the tests within it run in parallel?.

No. Multi in this context means multiple pages in a user journey.

I would recommend running on multiple servers and then send the result to Graphite (or if you have another time series database) to aggregate the result. Running tests on the same server and keeping track if they disturb each other is complicated and needs a lot of work. Thinking you want to avoid spending time/money on investigating regression that happened because you run multiple tests on the same machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants