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

process image operations in parallel #76

Merged
merged 2 commits into from
Apr 4, 2018
Merged

Conversation

zinserjan
Copy link
Owner

This PR introduces a new hook processScreenshot as a replacement of the afterScreenshot hook. This hook runs in parallel, so the browser does not need to wait until the image comparision is complete, before taking the next screenshot.

All non-blocking methods will benefit, for example Spectre.

before:

> wdio wdio.conf.js


  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Creating testrun +0ms
  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Testrun created - Run-Id: #132 +156ms
  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Saved Run-Id #132 to XXX/run_id.json +3ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Starting upload +0ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Upload successful +13s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Starting upload +9s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Upload successful +14s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Starting upload +9s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Upload successful +17s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Image is within tolerance or the same +1ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Starting upload +7s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Upload successful +19s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Starting upload +7s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Upload successful +19s
  wdio-visual-regression-service:Spectre Run-Id: #132, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
․

1 passing (134.50s)

=> everything runs in series

after:

> wdio wdio.conf.js


  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Creating testrun +0ms
  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Testrun created - Run-Id: #131 +151ms
  wdio-visual-regression-service:Spectre Api-Url: http://XXX:3000, Project: test-project, Suite: test-suite - Saved Run-Id #131 to XXX/run_id.json +2ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Starting upload +0ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Starting upload +9s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Upload successful +4s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 320, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Starting upload +5s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Starting upload +7s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Upload successful +2s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 480, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Starting upload +5s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Upload successful +26s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1500, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Upload successful +7s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1024, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Upload successful +8s
  wdio-visual-regression-service:Spectre Run-Id: #131, Test: test 1, Url: https://github.com/, Browser: Chrome, Size: 1600, Fuzz-Level: 30% - Image is within tolerance or the same +0ms
․

1 passing (97.70s)

=> processing runs in parallel

@zinserjan zinserjan merged commit b0ae14f into master Apr 4, 2018
@zinserjan zinserjan deleted the parallel-processing branch April 4, 2018 15:12
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

Successfully merging this pull request may close these issues.

1 participant