Comments (6)
I don't know enough about Git and how it handles binaries to know how this approach will scale. I can however report that Huddle's PhantomJS test suite contains 252 baseline images, all in Git - with no problems to date.
Is there an alternative?
from phantomcss.
Every time you update an image, git stores a whole new binary in its history. So the git repo balloons over time. The bigger the app – and the more often it changes – the more it benefits from perceptual diff-ing, but then you have 1000's of baseline images that need to be updated many times a day.
I don't know what a robust solution would be. Having the tool generate the baseline locally each time is problematic because you might not be 100% sure that it's identical to the baseline other developers would generate. The images could be perhaps stored in an SVN repo instead.
from phantomcss.
Throwing in another data point:
We have a so-so solution that we've moved to. We're still using git but have a separate repo that matches our branching structure of the app repo. It's not ideal but it keeps the checkout time reasonable on the app repo and lets us continue to version the files.
We do not change our app nearly at the scale that @necolas is mentioning though.
Running all of the inputs through ImageOptim helps a bit as well.
Previous attempts at dropbox were an unmitigated disaster as we never really trusted that the files were safe and unmodified.
from phantomcss.
Interesting! Perhaps generating some kind of JSON formatted 'fingerprint' for comparison might help... But using a seperate repo is probably a better idea. Being able to see old and new screenshots is very very useful, like the hover(and click)overs in this experimental report http://huddle.github.io/PhantomFlow/demo/phantomFlowReport.
from phantomcss.
Tools like https://github.com/schacon/git-media or https://github.com/joeyh/git-annex might be of use?
from phantomcss.
I've updated the readme.
from phantomcss.
Related Issues (20)
- can phantomcss able to club the original image , diff image and failure image in one single image? HOT 4
- Screenshot fails on container of floated elements HOT 1
- When page has asynchronously content following error occures. HOT 1
- Unable to capture screenshot greater than screen height HOT 1
- Page is not loading properly some components are missing while taking the screenshots HOT 4
- Says test failed, but failure folder is not created. HOT 1
- xunit testcase name inconsistent and not inherited from casperjs HOT 4
- TypeError: undefined is not an object (evaluating 'fileData.data') HOT 2
- PhantomJS fails with TypeError HOT 1
- Add more usage examples HOT 1
- Running PhantonCSS test after javascipt run on the page. HOT 1
- screenshot passes on if selector is missing HOT 2
- PhantomCSS is moving the HTML elements around HOT 1
- duplicate baseline image HOT 1
- Is the phantomjs not working on an app that is using angular ui-view HOT 6
- [email protected] requires a peer of canvas@^1.6.5 but none was installed HOT 3
- Do I need python for this? HOT 1
- Bug scroll bottom on fail screenshot HOT 3
- Support for the https pages HOT 1
- Create screenshots without test number at the end HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phantomcss.