Last modified: 2014-08-07 12:37:43 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T64511, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 62511 - Mass rendering tests / visual diff
Mass rendering tests / visual diff
Status: RESOLVED FIXED
Product: Parsoid
Classification: Unclassified
tests (Other open bugs)
unspecified
All All
: Normal normal
: ---
Assigned To: ssastry
:
Depends on: 51245
Blocks:
  Show dependency treegraph
 
Reported: 2014-03-10 21:34 UTC by Gabriel Wicke
Modified: 2014-08-07 12:37 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Gabriel Wicke 2014-03-10 21:34:13 UTC
Once we have proper CSS hooked up as discussed in bug 51245 we should start automated visual comparisons between PHP parser HTML + CSS and Parsoid HTML + CSS. The easiest way to scale & surface this is likely testreduce.

Some promising tools mentioned in a recent wikitech thread titled 'CSS regressions':

* https://github.com/Huddle/PhantomCSS
* http://pdiff.sourceforge.net/
* https://github.com/BBC-News/wraith
* https://github.com/igorescobar/automated-screenshot-diff
Comment 1 ssastry 2014-06-23 21:52:38 UTC
(In reply to Gabriel Wicke from comment #0)
> Once we have proper CSS hooked up as discussed in bug 51245 we should start
> automated visual comparisons between PHP parser HTML + CSS and Parsoid HTML
> + CSS. The easiest way to scale & surface this is likely testreduce.
> 
> Some promising tools mentioned in a recent wikitech thread titled 'CSS
> regressions':
> 
> * https://github.com/Huddle/PhantomCSS

JS code driven by PhantomCSS (JS) and Resemble.js

> * http://pdiff.sourceforge.net/
C++ code .. probably standalone.

> * https://github.com/BBC-News/wraith
Ruby code driven by phantomjs + ImageMagick

> * https://github.com/igorescobar/automated-screenshot-diff

nodejs library and has a dependency on a C library (cairo). Not sure if it will work with https://www.npmjs.org/package/image-diff which is ImageMagick binding.

It looks like huddle's solution will fit neatly within our nodejs setup. But, worth experimenting with a couple solns to see what works best in terms of: performance, quality, ease of use.
Comment 2 ssastry 2014-06-24 22:03:36 UTC
(In reply to ssastry from comment #1)
> (In reply to Gabriel Wicke from comment #0)
> > Once we have proper CSS hooked up as discussed in bug 51245 we should start
> > automated visual comparisons between PHP parser HTML + CSS and Parsoid HTML
> > + CSS. The easiest way to scale & surface this is likely testreduce.
> > 
> > Some promising tools mentioned in a recent wikitech thread titled 'CSS
> > regressions':
> > 
> > * https://github.com/Huddle/PhantomCSS
> 
> JS code driven by PhantomCSS (JS) and Resemble.js

Downloaded phantomcss and started looking at the code. PhantomCSS seems like a wrapper to work with casper to acquire screenshots, etc. capserjs can be run in nodejs using spookyjs. I'll try experimenting with this tomorrow. 

But, I'm now wondering whether the generated images might be too big and/or if we'll get too many trivial rendering diffs, and whether running a normalizing html diff on PHP and Parsoid HTML should be considered as well.
Comment 3 ssastry 2014-07-22 21:27:48 UTC
The repo @ https://github.com/subbuss/parsoid_visual_diffs is now ready for deploy.
Comment 4 ssastry 2014-08-07 12:37:43 UTC
Now deployed and mostly working ... still has some issues, but it is more in the realm of tweaking and bug fixing.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links