zinserjan / wdio-visual-regression-service

Visual regression service for WebdriverIO.
MIT License
102 stars 39 forks source link

Best practice to keep reference image untouched? #49

Open KenzoM opened 7 years ago

KenzoM commented 7 years ago

Not really an issue, just rather a discussion/advice:

My current company wanted to an automation framework in their future projects and I proposed Webdriver.io. They seemed to like it, specifically the Visual Regression service (awesome feature btw!).

However, one thing I wanted to know is what would be the best practice to have the reference images be consistent throughout every developer's local computer?

In other words, if we have a GitHub repository of a project, and it has several reference images, what can we do to ensure that when developers fork that repository, the reference images will remain untouched in their local computers? In doing so, it will help ensure that any changes on the styling can be detected via Visual Regression.

I am sure this is not entirely related to Visual Regression but wanted to know what practices/methods you've guys used with it at a higher scale project, especially when you have multiple developers working on the same project.

Any inputs would be greatly appreciated.

ModulesUnraveled commented 7 years ago

One way we've done it is to gitignore the latest and diffs directories, and only check the baseline directory into Git. That way, whatever the latest "reference image" (as you put it) is, it'll always be up to date with the latest code.

e.g. If you make a change that should intentionally update the baseline image, you checkin the code, as well as the new baseline so that when another developer pulls in your changes, the new code and baseline are in sync.