The Story
We have a big end-to-end test codebase written in Protractor
/WebDriverJS
.
We are using jasmine-spec-reporter
for the command-line test reports. It reports test execution time for every test spec:
About screen when logged in
✓ should show the license text after refresh (51 secs)
About modal
✓ should show the correct title (0.396 sec)
✓ should display component versions in a correct format (0.782 sec)
...
The Problem
The problem is - we have multiple tests that are much slower than the others - performance is becoming critical when these kind of tests are used for "smoke" tests against production instances.
The Question
Is there an effective (preferably automated) way to identify the bottlenecks - the reasons why these tests are slow?
Ideally, it would be very convenient to see line-by-line breakdown reporting how long each line execution took. I am currently thinking of tweaking Protractor's "Control Flow" to log execution time of every single "command" coming through..