[{"data":1,"prerenderedAt":274},["ShallowReactive",2],{"project-15528291":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":39,"post_text":41,"what":42,"said":73,"maker_in_thread":173,"shape":181,"grid":184,"attempts":233,"same_week":238,"maker_shows":174,"maker_hidden":266,"reader_version":267,"card":268},"15528291","Appraise","Visual test automation","title","Show HN: Appraise – Visual test automation","https:\u002F\u002Fgithub.com\u002FAppraiseQA\u002Fappraise","github.com","adzicg",1508698334,2017,78,22,565,2242,26,"notable","dev_tools","visual regression testing","library",[21,24,25,26,27],"acceptance testing","headless chrome","markdown tests","screenshot diff","curious",-0.043,{"positive":31,"neutral":32,"mixed":33,"critical":31},2,5,0,9,{"idea":36,"execution":38},{"positive":37,"critical":31},1,{"positive":37,"critical":33},[33,32,32,33,40,33,37,33,40,33,40,33,33,33,40,33,40,37,33,33,33,33],3,null,{"problem":43,"audience":50,"pricing":41,"motivation":57,"time_to_build":41,"stack":61,"openness":70,"stage":71,"team_size":72},{"value":44,"source":45,"evidence":46},"Writing layout tests in code is hard to maintain; visual checks are easier to approve or reject.","maker",[47],{"id":48,"by":11,"text":49},"15528422","Author here - Appraise is a new opensource tool for visual test automation. It’s like FitNesse, but for visuals, and working from Markdown that shows up nicely in GitHub…",{"value":51,"source":45,"evidence":52},"Developers, testers and designers doing cross-functional collaboration on web layouts.",[53,54],{"id":48,"by":11,"text":49},{"id":55,"by":11,"text":56},"15528672",">This is diffing PNGs? That sounds like a recipe for disaster. Not necessarily, if you use it for what it was intended -- visual layout tests that are easy for a human to…",{"value":58,"source":45,"evidence":59},"Built for MindMup internal use to replace tedious, hard-to-maintain layout tests.",[60],{"id":48,"by":11,"text":49},[62,66],{"value":63,"source":45,"evidence":64},"Headless Chrome",[65],{"id":48,"by":11,"text":49},{"value":67,"source":45,"evidence":68},"Markdown",[69],{"id":48,"by":11,"text":49},"open_source","beta","team",{"praise":74,"objections":91,"requests":106,"questions":125,"alternatives":145},[75,83],{"value":76,"source":77,"evidence":78},"Looks more polished than a commenter's similar prototype.","commenter",[79],{"id":80,"by":81,"text":82},"15530747","nathan_f77","Nice! I built a very similar prototype a few years ago when I was working on a mobile app. My test suite would upload screenshots, and I would have a gallery where I could see…",{"value":84,"source":77,"evidence":85},"Appears similar to tools like FitNesse and works in a Markdown-friendly way.",[86,87],{"id":48,"by":11,"text":49},{"id":88,"by":89,"text":90},"15528664","bcherny","This looks pretty neat! A few questions: 1. Are there plans for a multi-browser (especially mobile web) test runner? 2. Are there plans to detect change provenance (eg. if I…",[92,99],{"value":93,"source":77,"evidence":94},"Diffing PNGs may be fragile and prone to false positives.",[95],{"id":96,"by":97,"text":98},"15528667","revelation","This is diffing PNGs? That sounds like a recipe for disaster. Here is what this looks like in the much denigrated Java Enterprise world:…",{"value":100,"source":77,"evidence":101},"Visual test failures are hard to separate from real failures.",[102],{"id":103,"by":104,"text":105},"15529177","iamaelephant","Oh good I look forward to deleting mountains of these kinds of tests in a couple of years when the shine comes off the apple and people realise the effort of separating the flake…",[107,111,118],{"value":108,"source":77,"evidence":109},"Multi-browser and mobile web test runner support.",[110],{"id":88,"by":89,"text":90},{"value":112,"source":77,"evidence":113},"Integration with WebPageTest.",[114],{"id":115,"by":116,"text":117},"15528882","chrisweekly","Bravo! Sounds fantastic. Curious whether you’ve considered possible paths to integration with tools like WebPageTest.",{"value":119,"source":77,"evidence":120},"Prebuilt rules for material design guidelines.",[121],{"id":122,"by":123,"text":124},"15528466","sarthakjain","Would be good to have prebuilt rules for eg material design guidelines. Would it be even possible to test the material design rules across and entire page without having to…",[126,138],{"value":127,"source":77,"evidence":128},"How does it differ from niffy, happo, or Huxley?",[129,133,137],{"id":130,"by":131,"text":132},"15529391","lunarcave","Very Nice! Can you tell me how this could be different to a tool like niffy (https:\u002F\u002Fgithub.com\u002Fsegmentio\u002Fniffy)?",{"id":134,"by":135,"text":136},"15528950","felipellrocha","How is this different than happo?",{"id":88,"by":89,"text":90},{"value":139,"source":77,"evidence":140},"Can it diff PDFs?",[141],{"id":142,"by":143,"text":144},"15529367","alkonaut","Could this be used to diff pdf's?",[146,150,157,161,165,169],{"value":147,"source":77,"evidence":148},"Percy",[149],{"id":80,"by":81,"text":82},{"value":151,"source":77,"evidence":152},"Applitools",[153],{"id":154,"by":155,"text":156},"15532421","hobofan","I've actually started building a side-project (imagetest.io, the landing page is still pretty bare-bones) in the visual regression testing space, because I didn't couldn't find…",{"value":158,"source":77,"evidence":159},"niffy",[160],{"id":130,"by":131,"text":132},{"value":162,"source":77,"evidence":163},"happo",[164],{"id":134,"by":135,"text":136},{"value":166,"source":77,"evidence":167},"RCPTT",[168],{"id":96,"by":97,"text":98},{"value":170,"source":77,"evidence":171},"Huxley",[172],{"id":88,"by":89,"text":90},{"comments":174,"answered":32,"key":175},7,[176,177,180],{"id":48,"text":49},{"id":178,"text":179},"15528701","> 1. Are there plans for a multi-browser (especially mobile web) test runner? the screenshot engine is designed to be pluggable, so theoretically this should be easy to do with…",{"id":55,"text":56},{"commenters":182,"max_depth":32,"maker_replies":174,"first_comment_mins":18,"lifespan_hours":183},14,102,[185,187,189,191,193,195,197,199,201,203,205,207,210,215,217,218,220,222,223,226,229,231],[48,33,33,186,11,37],"project\u002Fpositive\u002Fidea",[115,33,32,188,116,33],"maker\u002Fpositive\u002Fidea",[80,37,32,190,81,33],"project\u002Fpositive\u002Fexecution",[154,37,33,192,155,33],"commenter\u002Fneutral\u002Fnone",[88,31,40,194,89,33],"project\u002Fneutral\u002Fidea",[178,31,33,196,11,37],"maker\u002Fneutral\u002Fidea",[96,40,37,198,97,33],"project\u002Fcritical\u002Fidea",[55,40,33,200,11,37],"commenter\u002Fneutral\u002Fidea",[122,202,40,194,123,33],4,[204,202,33,196,11,37],"15528562",[142,32,40,206,143,33],"project\u002Fneutral\u002Fnone",[208,32,33,209,11,37],"15529418","maker\u002Fneutral\u002Fnone",[211,212,33,213,214,33],"15529742",6,"other\u002Fneutral\u002Fnone","finnn",[216,212,33,213,11,37],"15529804",[130,174,40,206,131,33],[219,174,33,194,11,37],"15529435",[134,221,40,206,135,33],8,[103,34,37,198,104,33],[224,34,33,192,225,33],"15529222","dang",[227,34,33,192,228,33],"15529599","atomical",[230,34,33,192,225,33],"15529689",[232,34,33,192,228,33],"15564745",[234,237],{"id":235,"t":236,"points":212,"comments":37},"15427978",1507466376,{"id":4,"t":12,"points":14,"comments":15},[239,244,248,252,257,261],{"id":240,"name":241,"points":242,"category":243},"15534580","Arxiv Vanity",721,"learning_science",{"id":245,"name":246,"points":247,"category":20},"15507538","Gutenberg",241,{"id":249,"name":250,"points":251,"category":20},"15507181","Screen.rip",195,{"id":253,"name":254,"points":255,"category":256},"15551245","US Stock Screener",173,"finance_crypto",{"id":258,"name":259,"points":260,"category":20},"15528660","Ruby static type checker",115,{"id":262,"name":263,"points":264,"category":265},"15544432","Product Substitutes",103,"web_saas",false,"v2",{"id":269,"name":5,"line":6,"ai":266,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":270,"top":18,"kw":271,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":272,"url":9,"mix":273,"praise":76,"objection":93,"sub":21},15528291,-0.04,[21,24,25,26,27],"0550301030300030310000",[31,32,33,31],1794036560034]