-
Notifications
You must be signed in to change notification settings - Fork 96
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
Dev: Explore Reducing Test Run Time #631
Comments
A few random thoughts:
|
Main thought: The world of WebDrivers and browsers is already flaky, and we need to avoid making it more so.
Another thing might be to explore running headless, Safari still does not support running headless, but things might have changed for other browsers. Is running headless equivalent to headed browser behaviour these days? (It did not used to be) Is it faster? It certainly is less disruptive in that it doesn't take over your dev box for the duration of the test. |
Currently
Tests can take a very long while to run.
This is painful when developing Etaoin.
My computer is getting long in the tooth, but it just finished a test run against chrome and firefox in ~24m.
Ideas
@dgr and I chatted about the expense of creating a WebDriver process for each test.
This is great in that it provides complete isolation for each test but is time-consuming.
Questions:
In some cases, the answer will be no. Sometimes a WebDriver test launches the WebDriver with specific arguments (this is not the case for api tests, but is for other tests). Other times, a test will affect the session state, with, for example, cookies. And what should we do if a test fails? Probably throw away our WebDriver process and start fresh.
But, often, I expect a simple page refresh would be enough to clean the slate.
Maybe. But the complexity might not be worth it.
Note that CI is parallelized by running one browser per job.
Next Steps
Experiment with the above. Measure the impact on tests and the time it takes to run them.
The text was updated successfully, but these errors were encountered: