[{"data":1,"prerenderedAt":503},["ShallowReactive",2],{"project-14859084":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":47,"post_text":49,"what":50,"said":96,"maker_in_thread":231,"shape":241,"grid":243,"attempts":465,"same_week":466,"maker_shows":32,"maker_hidden":496,"reader_version":497,"card":498},"14859084","Chromeless","Headless Chrome Automation on AWS Lambda","title","Show HN: Chromeless – Headless Chrome Automation on AWS Lambda","https:\u002F\u002Fgithub.com\u002Fgraphcool\u002Fchromeless","github.com","schickling",1501095492,2017,385,89,38,2242,2,"legend","dev_tools","browser automation","library",[24,21,25,26],"headless chrome","aws lambda","integration testing","curious",0.003,{"positive":30,"neutral":31,"mixed":32,"critical":33},12,28,1,10,51,{"idea":36,"execution":38,"docs":41,"pricing":42,"performance":43,"design":44,"privacy":46},{"positive":37,"critical":32},6,{"positive":39,"critical":40},0,3,{"positive":39,"critical":18},{"positive":39,"critical":40},{"positive":32,"critical":32},{"positive":45,"critical":39},4,{"positive":39,"critical":39},[40,48,40,40,39,40,40,48,48,32,40,40,48,48,40,39,39,40,40,32,48,40,40,39,48,48,40,32,40,40,48,40,40,48,32,32,40,32,40,32],5,null,{"problem":51,"audience":58,"pricing":49,"motivation":71,"time_to_build":49,"stack":75,"openness":93,"stage":94,"team_size":95},{"value":52,"source":53,"evidence":54},"Slow browser-based integration tests that take many minutes per build","maker",[55],{"id":56,"by":11,"text":57},"14859148","I'm really excited to finally open-source Chromeless. We've used NightmareJS and similar tools before to run integration tests but these basically added ~20min to each build.…",{"value":59,"source":60,"evidence":61},"Developers running browser integration tests and screenshot or prerender jobs","inferred",[62,63,67],{"id":56,"by":11,"text":57},{"id":64,"by":65,"text":66},"14859549","victorhooi","So to clarify - this is basically a Node.JS wrapper around Chrome headless, right? =_) Seems pretty awesome. My use case is to take screenshots of various pages - the docs don't…",{"id":68,"by":69,"text":70},"14859441","shortj","This would have been awesome to have back when I was heavy in to the UI test automation game. Our best option at that point was a spot instance EC2 fleet and analyzing commits to…",{"value":72,"source":53,"evidence":73},"Integration test builds were taking about 20 minutes with NightmareJS and similar tools",[74],{"id":56,"by":11,"text":57},[76,81,87],{"value":77,"source":78,"evidence":79},"Node.js","commenter",[80],{"id":64,"by":65,"text":66},{"value":82,"source":53,"evidence":83},"AWS Lambda",[84],{"id":85,"by":11,"text":86},"14859560","Yes exactly + this can run (in parallel) on AWS Lambda, so you don't need to worry about provisioning & running servers. That's actually the part I'm most excited about :)",{"value":88,"source":53,"evidence":89},"serverless-chrome",[90],{"id":91,"by":11,"text":92},"14860178","Chromeless is actually built on top serverless-chrome and was developed together with the author of serverless-chrome :)","open_source","launched","team",{"praise":97,"objections":110,"requests":141,"questions":178,"alternatives":204},[98],{"value":99,"source":78,"evidence":100},"Parallel execution on Lambda could cut test times sharply",[101,102,106],{"id":68,"by":69,"text":70},{"id":103,"by":104,"text":105},"14859824","dlisboa","So basically if I had 200 automations I could run them on 200 lambdas and have them finish by the time the slowest one finishes? That pretty awesome, specially for testing. For…",{"id":107,"by":108,"text":109},"14859323","yamafaktory","Looks super promising, the API is really neat and running the tests in parallel is a big plus! Awesome work!",[111,126,130],{"value":112,"source":78,"evidence":113},"Lambda costs can add up beyond the free tier",[114,118,122],{"id":115,"by":116,"text":117},"14860370","bald","> For many cases this would also fall under the free tier since it not that many requests\u002Fusage...it kinda seems too good to be true (since I've ran into the same trap a couple…",{"id":119,"by":120,"text":121},"14859565","toomuchtodo","Do the math. If you're suggesting running all the tests, drastically increasing your compute volume, it's probably cheaper to use a dedicated instance running at max CPU…",{"id":123,"by":124,"text":125},"14863770","kensoh","This is a really cool project, but looking closer at the API and issues raised it seems that the features are being over-promised. - \"Do pretty much everything you've used…",{"value":127,"source":78,"evidence":128},"Claims over-promise compared with mature tools like PhantomJS, Nightmare and Selenium",[129],{"id":123,"by":124,"text":125},{"value":131,"source":78,"evidence":132},"AWS IP addresses are often blocked by sites",[133,137],{"id":134,"by":135,"text":136},"14860642","afandian","I've got the impression that lots of sites block AWS IP addresses. I wonder if this would hamper the practical use of this on Lambda. I'm doing something similar, and this…",{"id":138,"by":139,"text":140},"14863563","mrmondo","Indeed, so many of AWS’s IP ranges are used for DDoS and malicious behaviour they end up getting blacklisted due to their poor reputation. It’s a bit like using one third party…",[142,153,160,171],{"value":143,"source":78,"evidence":144},"PDF support",[145,149],{"id":146,"by":147,"text":148},"14860499","titel","@schickling - When will the PDF support arrive? https:\u002F\u002Fgithub.com\u002Fgraphcool\u002Fchromeless\u002Fblob\u002Fmaster\u002Fdocs\u002Fapi.md#api-pdf",{"id":150,"by":151,"text":152},"14861938","craptocurrency","Nice tool Some API documentation says: pdf() - Not implemented yet Not implemented yet How about you deprecate the API for now but reveal the purpose please.",{"value":154,"source":78,"evidence":155},"Google Cloud Functions and Azure support",[156],{"id":157,"by":158,"text":159},"14862854","ivan_ah","How difficult would it be to also support google cloud functions and the azure offerings? This seems like a really useful standard tool that lots of people might want to use. CI…",{"value":161,"source":78,"evidence":162},"Python wrapper or other language bindings",[163,167],{"id":164,"by":165,"text":166},"14864680","pknerd","Wish it had a python wrapper.",{"id":168,"by":169,"text":170},"14861813","hartator","Really awesome. Will definitely be usefull for a project I am working on. Any plan to support other languages beside JS?",{"value":172,"source":78,"evidence":173},"Webdriver-compatible API",[174],{"id":175,"by":176,"text":177},"14860588","megamindbrian","Cool. Now can you use it with webdriver functions instead of re-inventing the API?",[179,186,197],{"value":180,"source":78,"evidence":181},"How font rendering and fonts work on Lambda",[182],{"id":183,"by":184,"text":185},"14861033","cjr","This looks great! As the developer of an automated screenshot solution (https:\u002F\u002Furlbox.io), one of the major pain points when taking screenshots is font-rendering. I wonder how…",{"value":187,"source":78,"evidence":188},"How cookies and downloads are handled",[189,193],{"id":190,"by":191,"text":192},"14862723","1024core","How do cookies work in Chromeless? Can I specify a cookiejar to use? Can I keep cookies separated?",{"id":194,"by":195,"text":196},"14860027","coredog64","The last time I tried headless Chrome, file downloads were a PITA. Has anyone tried downloads with Chromeless?",{"value":198,"source":78,"evidence":199},"GPU support",[200],{"id":201,"by":202,"text":203},"14860686","colordrops","Can any headless browser solution be considered complete without GPU support? A large percentage of sites use GPU enabled and accelerated features and without GPU support,…",[205,209,217],{"value":206,"source":53,"evidence":207},"NightmareJS",[208],{"id":56,"by":11,"text":57},{"value":210,"source":78,"evidence":211},"PhantomJS, Selenium, WebdriverIO, Nightwatch, Zombie",[212,213],{"id":123,"by":124,"text":125},{"id":214,"by":215,"text":216},"14863474","inertial","I'll just add some related projects I've used \u002F tried in the past. The promise of fast execution time in parallel is tempting with Chromeless. Thanks for sharing. -…",{"value":218,"source":78,"evidence":219},"Chrominator, Navalia, Chromy, GhostJS, AutoGCD, Lambdium",[220,224,227],{"id":221,"by":222,"text":223},"14861599","gowan","shamless plug: i've also written a high level api on top of the chrome remote debugger chrominator [1] similar idea. chrominator use promises instead of a fluent api. it also…",{"id":225,"by":124,"text":226},"14862091","[1] Chrominator looks interesting. jesg\u002Fgowan is the maintainer for PhantomJS GhostDriver, so the API looks extensive. Another project that I heard recently is Navalia [4], which…",{"id":228,"by":229,"text":230},"14862306","smithclay","Shameless plug: I've been hacking on headless chrome in AWS Lambda but with selenium webdriver support [1], also using the binaries from the serverless-chrome [2] project. To…",{"comments":232,"answered":48,"key":233},16,[234,235,238],{"id":56,"text":57},{"id":236,"text":237},"14863546","This should actually be pretty easy. There is no reason that this is bound to AWS Lambda. We're more than open to accept PRs that enable multi-cloud support.",{"id":239,"text":240},"14863557","As I can't give you an exact estimate when it will arrive, seems like a lot of people are already asking for it here:…",{"commenters":34,"max_depth":33,"maker_replies":232,"first_comment_mins":242,"lifespan_hours":31},8,[244,246,248,251,255,257,261,264,266,268,269,272,273,274,277,281,283,286,288,289,291,293,296,299,301,303,305,308,311,315,317,319,322,325,328,331,334,336,338,340,343,345,348,349,351,355,358,361,363,366,368,369,371,374,378,382,384,386,389,391,395,397,402,404,406,407,410,412,413,415,417,419,421,423,425,429,431,432,436,439,441,445,447,449,452,454,456,461,463],[56,39,39,245,11,32],"maker\u002Fpositive\u002Fperformance",[157,39,40,247,158,39],"project\u002Fneutral\u002Fidea",[249,39,40,247,250,39],"14863050","jpalomaki",[252,39,48,253,254,39],"14863312","project\u002Fpositive\u002Fidea","nodesocket",[236,39,39,256,11,32],"project\u002Fneutral\u002Fexecution",[258,39,40,259,260,39],"14864767","maker\u002Fneutral\u002Fexecution","djhworld",[262,39,40,256,263,39],"14865487","adieuadieu",[221,32,39,265,222,39],"commenter\u002Fneutral\u002Fidea",[225,32,39,267,124,39],"commenter\u002Fneutral\u002Fnone",[228,32,39,267,229,39],[270,32,39,271,124,39],"14864982","other\u002Fneutral\u002Fnone",[183,18,40,256,184,39],[146,40,40,256,147,39],[275,40,40,256,276,39],"14860740","pkilgore",[278,40,40,279,280,39],"14863987","project\u002Fneutral\u002Fdocs","sorenbs",[282,40,39,267,276,39],"14865731",[284,40,48,253,285,39],"14861614","33degrees",[239,40,39,287,11,32],"maker\u002Fneutral\u002Fnone",[68,45,48,253,69,39],[290,45,39,287,11,32],"14859497",[119,45,32,292,120,39],"project\u002Fcritical\u002Fpricing",[294,45,39,295,11,32],"14859689","project\u002Fneutral\u002Fpricing",[297,45,48,298,280,39],"14859759","project\u002Fpositive\u002Fperformance",[300,45,32,292,69,39],"14859801",[302,45,39,267,120,39],"14860186",[123,48,40,304,124,39],"project\u002Fmixed\u002Fexecution",[306,48,39,307,11,32],"14863989","maker\u002Fneutral\u002Fidea",[309,48,48,310,124,39],"14866294","maker\u002Fpositive\u002Fidea",[312,37,48,313,314,39],"14860167","project\u002Fpositive\u002Fdesign","yeldarb",[91,37,39,316,11,32],"project\u002Fneutral\u002Fnone",[318,37,39,267,263,39],"14860239",[320,37,48,321,124,39],"14860888","maker\u002Fpositive\u002Fnone",[134,323,32,324,135,39],7,"project\u002Fcritical\u002Fexecution",[326,323,39,267,327,39],"14861039","extra88",[329,323,39,271,330,39],"14861631","pravda",[332,323,39,267,333,39],"14862768","hackits",[335,323,39,271,330,39],"14863542",[337,323,39,267,135,39],"14863772",[339,323,39,271,330,39],"14867864",[341,323,40,256,342,39],"14862191","ingenuous2",[344,323,40,256,135,39],"14863809",[346,323,39,267,347,39],"14862444","bdcravens",[138,323,32,324,139,39],[190,242,40,350,191,39],"project\u002Fneutral\u002Fprivacy",[352,353,40,247,354,39],"14864209",9,"pedrocls",[356,33,48,313,357,39],"14860147","biscarch",[359,33,39,271,360,39],"14861505","mabbo",[194,362,40,256,195,39],11,[364,362,40,365,263,39],"14860269","maker\u002Fneutral\u002Fdocs",[367,362,39,271,124,39],"14860909",[214,30,39,271,215,39],[370,30,39,307,11,32],"14863541",[372,30,39,271,373,39],"14864104","kough",[375,376,39,271,377,39],"14862493",13,"shimon_e",[379,380,48,313,381,39],"14860884",14,"Vuneu",[383,380,39,271,124,39],"14861122",[107,385,48,313,108,39],15,[387,232,39,271,388,39],"14859481","jotto",[390,232,39,287,11,32],"14859515",[392,393,40,316,394,39],"14860080",17,"languagehacker",[396,393,39,287,11,32],"14860122",[398,399,32,400,401,39],"14859571",18,"project\u002Fcritical\u002Fdocs","iokevins",[403,399,39,365,11,32],"14859609",[64,405,40,247,65,39],19,[85,405,39,253,11,32],[408,405,40,316,409,39],"14859676","purvis",[411,405,40,316,263,39],"14859713",[103,405,48,253,104,39],[414,405,39,253,11,32],"14859854",[416,405,40,279,104,39],"14859979",[418,405,39,287,11,32],"14860037",[420,405,40,287,104,39],"14860317",[422,405,40,256,124,39],"14870492",[424,405,48,253,263,39],"14859866",[426,405,40,427,428,39],"14860798","project\u002Fneutral\u002Fperformance","MoOmer",[430,405,40,427,263,39],"14860894",[115,405,32,292,116,39],[433,405,39,434,435,39],"14862781","commenter\u002Fneutral\u002Fpricing","penagwin",[437,405,40,279,438,39],"14859598","roughcoder",[440,405,32,324,280,39],"14863991",[442,443,40,247,444,39],"14859507",20,"polskibus",[446,443,39,287,11,32],"14859552",[168,448,40,316,169,39],21,[201,450,32,451,202,39],22,"project\u002Fcritical\u002Fperformance",[164,453,40,316,165,39],23,[455,453,39,287,11,32],"14864714",[457,458,32,459,460,39],"14862009",24,"project\u002Fcritical\u002Fidea","fizixer",[150,462,32,400,151,39],25,[175,464,40,247,176,39],26,[],[467,472,477,482,487,491],{"id":468,"name":469,"points":470,"category":471},"14821478","$200 Solar Self-Sufficiency  Without Your Landlord Noticing",491,"infrastructure",{"id":473,"name":474,"points":475,"category":476},"14853212","Musikcube",340,"creative",{"id":478,"name":479,"points":480,"category":481},"14841859","Conference List",296,"productivity",{"id":483,"name":484,"points":485,"category":486},"14854915","Teachcraft",212,"languages",{"id":488,"name":489,"points":490,"category":20},"14821186","Mesh IDE",199,{"id":492,"name":493,"points":494,"category":495},"14850259","Dharma",156,"finance_crypto",false,"v2",{"id":499,"name":5,"line":6,"ai":496,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":39,"top":18,"kw":500,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":501,"url":9,"mix":502,"praise":99,"objection":112,"sub":21},14859084,[24,21,25,26],"3533033551335530033153305531335335113131",[30,31,32,33],1794036557672]