[{"data":1,"prerenderedAt":269},["ShallowReactive",2],{"project-7066142":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":15,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":43,"post_text":44,"what":45,"said":76,"maker_in_thread":162,"shape":173,"grid":176,"attempts":231,"same_week":232,"maker_shows":32,"maker_hidden":261,"reader_version":262,"card":263},"7066142","Houdini","A new way to test web apps","title","Show HN: Houdini – A new way to test web apps","http:\u002F\u002Fwww.tryhoudini.com","tryhoudini.com","levlandau",1389819788,2014,63,23,505,2272,"notable","dev_tools","web app testing","web_app",[20,23,24,25,26],"test generation","automated testing","javascript testing","regression testing","debated",0.071,{"positive":30,"neutral":31,"mixed":32,"critical":33},5,3,2,4,14,{"execution":36,"design":38,"idea":40,"docs":41,"privacy":42},{"positive":37,"critical":37},0,{"positive":37,"critical":39},1,{"positive":32,"critical":32},{"positive":37,"critical":39},{"positive":39,"critical":37},[31,37,39,37,39,31,37,31,37,37,39,39,31,37,30,37,31,37,30,30,30,37,30],null,{"problem":46,"audience":58,"pricing":44,"motivation":44,"time_to_build":44,"stack":69,"openness":74,"stage":75,"team_size":74},{"value":47,"source":48,"evidence":49},"Testing web apps is tedious; Houdini generates tests from user-assisted interaction and DOM snapshots","inferred",[50,54],{"id":51,"by":52,"text":53},"7066818","gre","The video demonstrates how we would like the user-assisted side of it to work. For reasons like you mention, it might require more than DOM inspection in the end. What if tweets…",{"id":55,"by":56,"text":57},"7066397","aantix","In the dynamic content example; with the previous showing one item and the second screen shot showing two items, what is it about the DOM structure that makes this a passing…",{"value":59,"source":48,"evidence":60},"Web developers and QA teams",[61,65],{"id":62,"by":63,"text":64},"7066663","hack_info_get","Would be recommending this to the QA folks at work. Thanks for sharing!",{"id":66,"by":67,"text":68},"7066290","sync","Looks really promising if it can work on complex dynamic sites! The sample script provided is totally incorrect though: ``` \u003Cscript…",[70],{"value":71,"source":48,"evidence":72},"JavaScript",[73],{"id":66,"by":67,"text":68},"unknown","beta",{"praise":77,"objections":102,"requests":132,"questions":143,"alternatives":153},[78,91,95],{"value":79,"source":80,"evidence":81},"Good-looking, promising tool for testing complex dynamic sites","commenter",[82,83,87],{"id":66,"by":67,"text":68},{"id":84,"by":85,"text":86},"7066230","katowulf","A great looking tool! Can't wait to try it out on a few hundred projects :)",{"id":88,"by":89,"text":90},"7066207","firebunnytime","This is intriguing. If those guys get it to work on complex, real-world web sites I think they can build a serious business around this. I'm gonna give this a try. Best of luck!",{"value":92,"source":80,"evidence":93},"Useful for QA teams",[94],{"id":62,"by":63,"text":64},{"value":96,"source":80,"evidence":97},"GitHub login does not require access to private repos",[98],{"id":99,"by":100,"text":101},"7066396","freerobby","Major \"thank you\" for doing github login without requiring me to hand over my private repositories.",[103,114,121,125],{"value":104,"source":80,"evidence":105},"Snapshot\u002FDOM-based approach may not verify correct behaviour or assertions",[106,107,110],{"id":55,"by":56,"text":57},{"id":108,"by":56,"text":109},"7066534","That was my point; a \"progressive diff\" isn't just two samples. At test sample #2, whether an item inserts or updates, either could be correct at that point.",{"id":111,"by":112,"text":113},"7067507","randy_burden","This concept of testing seems strange and very limiting when it comes to the assertions you wish to make. If you post \"Hello World!\" I would want to test that in my post feed…",{"value":115,"source":80,"evidence":116},"Sign-up flow gave no access before beta",[117],{"id":118,"by":119,"text":120},"7066175","Blahah","First of all, I'm very interested in this. Secondly, that was a very well-designed capture. You got me to give up my email, log in with GitHub, tell you how much I would pay, and…",{"value":122,"source":80,"evidence":123},"Sample script in docs is incorrect",[124],{"id":66,"by":67,"text":68},{"value":126,"source":80,"evidence":127},"Test notification may be visible to site users",[128],{"id":129,"by":130,"text":131},"7066434","pud","This looks awesome. Scared to put the Javascript on my site though, because it's unclear to me how the embedded Javascript will be able to differentiate me (the site owner) from…",[133],{"value":134,"source":80,"evidence":135},"Export to CasperJS or Selenium scripts for CI",[136,140],{"id":137,"by":138,"text":139},"7066801","BjoernKW","Very cool. I recently had an idea along those lines. Good to see someone's building something in this area. Will it be possible to generate CasperJS- or Selenium-compatible test…",{"id":141,"by":11,"text":142},"7066853","Thanks! Yes we plan to make this possible. We've got a decent number of requests for similar functionality.",[144,148],{"value":145,"source":80,"evidence":146},"How the embedded JS tells site owner from regular users",[147],{"id":129,"by":130,"text":131},{"value":149,"source":80,"evidence":150},"How assertions are expressed beyond snapshots",[151,152],{"id":111,"by":112,"text":113},{"id":55,"by":56,"text":57},[154,158],{"value":155,"source":80,"evidence":156},"Selenium",[157],{"id":137,"by":138,"text":139},{"value":159,"source":80,"evidence":160},"CasperJS",[161],{"id":137,"by":138,"text":139},{"comments":33,"answered":39,"key":163},[164,167,170],{"id":165,"text":166},"7066203","@blahah Thanks for going through the flow! Working really hard to get this to you soon. Would love any feedback you have as well!",{"id":168,"text":169},"7066496","Will definitely clarify this on the dashboard. Users of the site won't see those notifications for sure. Those are configurable and you'd only use those on your dev environments.",{"id":171,"text":172},"7066417","Thanks for the feedback! Definitely trying to be reasonable :) Definitely welcome any other suggestions!",{"commenters":174,"max_depth":31,"maker_replies":33,"first_comment_mins":175,"lifespan_hours":30},16,6,[177,179,181,184,187,189,193,194,195,199,202,204,205,207,209,211,212,214,216,219,221,224,228],[118,37,31,178,119,37],"project\u002Fmixed\u002Fexecution",[165,37,37,180,11,39],"maker\u002Fneutral\u002Fnone",[182,37,39,183,67,37],"7066310","project\u002Fcritical\u002Fdesign",[185,37,37,186,119,37],"7066316","commenter\u002Fneutral\u002Fnone",[55,39,39,188,56,37],"project\u002Fcritical\u002Fidea",[190,39,31,191,192,37],"7066442","project\u002Fneutral\u002Fidea","rogerdickey",[108,39,37,186,56,37],[51,39,31,191,52,37],[196,32,37,197,198,37],"7066555","other\u002Fneutral\u002Fnone","_random_",[200,32,37,197,201,37],"7066989","pyramation",[66,31,39,203,67,37],"project\u002Fcritical\u002Fdocs",[111,33,39,188,112,37],[129,30,31,206,130,37],"project\u002Fmixed\u002Fdesign",[168,30,37,208,11,39],"maker\u002Fneutral\u002Fdesign",[99,175,30,210,100,37],"project\u002Fpositive\u002Fprivacy",[171,175,37,180,11,39],[137,213,31,191,138,37],7,[141,213,37,215,11,39],"maker\u002Fpositive\u002Fidea",[84,217,30,218,85,37],8,"project\u002Fpositive\u002Fnone",[62,220,30,218,63,37],9,[88,222,30,223,89,37],10,"project\u002Fpositive\u002Fidea",[225,226,37,197,227,37],"7066246",11,"digiru",[229,230,30,223,63,37],"7066237",12,[],[233,237,242,247,252,257],{"id":234,"name":235,"points":236,"category":19},"7066479","Kimono",717,{"id":238,"name":239,"points":240,"category":241},"7059919","Funded.io",167,"finance_crypto",{"id":243,"name":244,"points":245,"category":246},"7049960","Cabot",82,"infrastructure",{"id":248,"name":249,"points":250,"category":251},"7030983","Sense",64,"data",{"id":253,"name":254,"points":255,"category":256},"7043295","My Internet life",62,"productivity",{"id":258,"name":259,"points":260,"category":19},"7039509","Taplytics",61,false,"v2",{"id":264,"name":5,"line":6,"ai":261,"cat":19,"year":13,"points":14,"comments":15,"rec":27,"s":265,"top":15,"kw":266,"maker":11,"domain":10,"tier":18,"attempts":37,"strip":267,"url":9,"mix":268,"praise":79,"objection":104,"sub":20},7066142,0.07,[20,23,24,25,26],"30101303001130503055505",[30,31,32,33],1793990902002]