Repository navigation
Releases: denodell/playwright-soak-test
Releases · denodell/playwright-soak-test
Release list
v0.2.0
When a soak test fails, it now tells you what caused the memory leak, e.g.:
A listener on window is still registered. Its callback `onResize` still references the
<section class="report-drawer"> element.
window → EventListener → onResize() → <section class="report-drawer">
It does this by comparing a heap snapshot at the start of the run with another at the end, and following the chain of references back to the function or variable in your code.
New options
diagnose:'on-failure'(default), or'always'or'off'keepSnapshots: attaches both snapshots to the test result, so you can open them in DevTools for further inspectiondiagnoseTimeout: how long the snapshotting process can take (default=60s)
Other changes
- Running
npm installin a fresh clone of the repo now installs Chromium, so the tests run straight away. Thanks to @brentguf for #1. - A long run whose DOM / listener count use climbed and then stopped is now labeled
climbed early, then leveled offinstead ofnoisy. formatSoakReport(result)returns the report as text, so you can log asoak.measure()result to the Terminal.- Whole numbers lose the decimal in the output: "Each pass leaks 40 nodes and 1 listener."
- FIX: Fewer false alarms. Each reading now has Chrome update the page's layout first, so it no longer counts elements a flow has just removed.
Upgrading from 0.1.0
No changes needed. Because we now take snapshots, this adds a few seconds to a minute depending on the size of your web app. You can disable this with diagnose: 'off' in the options. Readings can come out slightly lower than before.
Full list is in the changelog.