-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Fix #4183: Adjust Overall Performance runtime in HTML test report #4300
Open
Vaibhavsahu2810
wants to merge
1
commit into
nightwatchjs:main
Choose a base branch
from
Vaibhavsahu2810:issue/4183-fix-performance-runtime-error
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Vaibhavsahu2810 Thanks for this PR. But, were you able to figure out why the subtraction of the above two variables is giving the wrong time?
Ideally, we should try to find the root cause of the problem and try to tackle that instead of just introducing a fix. If the
this.results.endTimestamp
is wrong above, we should fix that because it might be causing problems at other places as well.Also, if the tests are running in parallel, we wouldn't just want to add up the time of all the tests but instead show the time the entire test run actually took from the user's perspective (if I'm not missing something here?).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@garg3133 The current time calculation in
aggregateStats()
has a problem that , It's calculating the total time using the global start and end timestamps . This includes time between test runs and setup/teardown time that isn't part of the actual test execution.Meanwhile, individual suite times are calculated from the actual execution time of the tests (stored in module.timeMs), which is aggregated in the
createInitialResult()
andaggregateEnvironments()
methods.That's why i changed the time calculation method in
aggregateStats()
according toaggregateEnvironments()
method.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Vaibhavsahu2810 That's fine. We are supposed to show the overall time (including setup/teardown and the time spent in between the test runs) in the Overall Performance section. This section should basically show the total run time of the Nightwatch process and not the sum of the run-time of individual test cases.
Let's say you run three tests in parallel using Nightwatch and the individual run time of the tests are as follows:
Then the total run time of the Nightwatch process need not be same as the sum of the run time of the three test cases (since the tests are running in parallel) but it should always be greater then the run time of the longest running test (75 secs).
This is exactly the problem in the issue where the overall performance shows a time less than the time of the longest running test, which is not possible.