[{"data":1,"prerenderedAt":364},["ShallowReactive",2],{"project-22416258":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":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":83,"maker_in_thread":146,"shape":154,"grid":159,"attempts":328,"same_week":329,"maker_shows":43,"maker_hidden":356,"reader_version":357,"card":358},"22416258","Helium","Lighter web automation based on Selenium","title","Show HN: Helium – Lighter web automation based on Selenium","https:\u002F\u002Fgithub.com\u002Fmherrmann\u002Fhelium","github.com","mherrmann",1582658112,2020,191,62,295,3028,10,"notable","dev_tools","browser automation testing","library",[24,25,26,27],"selenium","browser automation","web testing","python","mixed",0.303,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,9,0,2,19,{"idea":37,"design":39,"execution":41},{"positive":38,"critical":33},3,{"positive":33,"critical":40},1,{"positive":40,"critical":33},[43,33,38,33,33,33,33,33,33,33,33,33,38,33,33,33,33,33,33,33,33,33,33,43,33,38,38,38,33,43,38,38,38,33,43,33,43,33,38,38],5,null,{"problem":46,"audience":44,"pricing":44,"motivation":54,"time_to_build":44,"stack":64,"openness":80,"stage":81,"team_size":82},{"value":47,"source":48,"evidence":49},"Selenium requires HTML IDs, XPaths and CSS selectors to find elements, which is fragile","commenter",[50],{"id":51,"by":52,"text":53},"22422343","cowsandmilk","> The binding is on a layer that humans don't see, and it makes it fragile. And that seems to be part of the point of this project. From the description: > In Selenium, you need…",{"value":55,"source":56,"evidence":57},"Former commercial product (HeliumHQ) shut down and the code was open sourced","maker",[58,61],{"id":59,"by":11,"text":60},"22420860","HeliumHQ used to be the commercial offering of Helium. We shut down that company at the end of 2019. The GitHub link you see here now is the same code, modernized and open…",{"id":62,"by":11,"text":63},"22422001","Developers don't like to pay for software libraries so it was an uphill battle. My co-founder (our \"COO\") moved on because he got a very lucrative offer. I wanted to buy out his…",[65,73],{"value":66,"source":48,"evidence":67},"Python",[68,72],{"id":69,"by":70,"text":71},"22420069","ivan_ah","@mherrmann What would be the comparison \u002F difference with SeleniumBase https:\u002F\u002Fgithub.com\u002Fseleniumbase\u002FSeleniumBase ? I'm always on the lookout for browser automation using…",{"id":51,"by":52,"text":53},{"value":74,"source":48,"evidence":75},"Selenium WebDriver",[76],{"id":77,"by":78,"text":79},"22419476","eindiran","The reason why it doesn't use the Chrome DevTools Protocol is that it (Helium) is a wrapper around Selenium WebDriver [0]. One advantage of wrapping WebDriver, rather than using…","open_source","launched","unknown",{"praise":84,"objections":95,"requests":103,"questions":104,"alternatives":116},[85,91],{"value":86,"source":48,"evidence":87},"Smarter iframe handling and better explicit waits than vanilla Selenium",[88],{"id":89,"by":78,"text":90},"22419246","Very cool project OP: it looks like it gets rid of the major pain points I've had with Selenium. In particular, smarter handling of iframes and the better explicit waits are huge…",{"value":92,"source":48,"evidence":93},"Permissive license",[94],{"id":89,"by":78,"text":90},[96],{"value":97,"source":48,"evidence":98},"Breaks on custom UI controls, requiring IDs and XPaths again",[99],{"id":100,"by":101,"text":102},"22422654","bauerd","This works fine until it does not, for example when dealing with custom UI controls, which is when reality sets in and you find yourself wrangling HTML IDs, XPaths and CSS…",[],[105,109],{"value":106,"source":48,"evidence":107},"How does it compare to SeleniumBase?",[108],{"id":69,"by":70,"text":71},{"value":110,"source":48,"evidence":111},"Why not use the Chrome DevTools Protocol?",[112],{"id":113,"by":114,"text":115},"22419376","captainmarble","Why can't it directly use chrome devtools protocol?",[117,121,125,132,139],{"value":118,"source":48,"evidence":119},"SeleniumBase",[120],{"id":69,"by":70,"text":71},{"value":122,"source":48,"evidence":123},"Playwright",[124],{"id":69,"by":70,"text":71},{"value":126,"source":48,"evidence":127},"TestCafe",[128],{"id":129,"by":130,"text":131},"22420070","snowl","I don't see people talk about TestCafe which is open source and is an actual alternative without being dependent on WebDriver at all",{"value":133,"source":48,"evidence":134},"Cypress",[135],{"id":136,"by":137,"text":138},"22422551","TeeWEE","Every heard about the testing pyramid? https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Fpractical-test-pyramid.html A few UI tests on top of the pyramid does help. We did move from selenium to…",{"value":140,"source":48,"evidence":141},"Capybara",[142],{"id":143,"by":144,"text":145},"22421818","jfax","This appears to be very similar to Capybara in Ruby, which I've used extensively. I was under the impression that implementations of Selenium were as high-level as this every…",{"comments":147,"answered":34,"key":148},4,[149,150,151],{"id":59,"text":60},{"id":62,"text":63},{"id":152,"text":153},"22443232","Awesome, thanks!",{"commenters":155,"max_depth":156,"maker_replies":147,"first_comment_mins":157,"lifespan_hours":158},47,6,321,68,[160,164,168,172,174,177,180,183,186,189,192,195,198,201,204,207,210,212,215,217,219,221,224,226,229,231,233,236,238,240,243,245,248,249,252,255,257,258,261,265,266,268,270,274,278,282,283,284,287,290,294,296,300,304,306,309,312,316,318,321,324,325],[161,33,43,162,163,33],"22420371","maker\u002Fpositive\u002Fnone","wpietri",[165,33,33,166,167,33],"22421793","other\u002Fneutral\u002Fnone","rumanator",[169,33,33,170,171,33],"22422363","commenter\u002Fneutral\u002Fnone","lmilcin",[69,40,38,173,70,33],"maker\u002Fneutral\u002Fidea",[175,34,33,166,176,33],"22419510","ng12",[178,34,33,166,179,33],"22419615","l0b0",[181,34,33,166,182,33],"22420058","freeone3000",[184,34,33,166,185,33],"22420139","jdc",[187,34,33,166,188,33],"22420223","joshstrange",[190,34,33,166,191,33],"22420301","ethbro",[193,34,33,166,194,33],"22420926","bryanrasmussen",[196,34,33,166,197,33],"22420930","Ididntdothis",[199,34,33,166,200,33],"22421023","gregmac",[202,34,33,166,203,33],"22421077","danidiaz",[205,34,33,166,206,33],"22421192","plorntus",[208,34,33,170,209,33],"22421377","opless",[211,34,33,170,191,33],"22423017",[213,34,33,166,214,33],"22421759","maeln",[51,34,43,216,52,33],"project\u002Fpositive\u002Fidea",[100,34,40,218,101,33],"project\u002Fcritical\u002Fdesign",[220,34,33,170,191,33],"22423041",[222,34,33,166,223,33],"22419623","paulryanrogers",[225,34,33,166,191,33],"22420333",[227,34,33,166,228,33],"22419779","pintxo",[230,34,33,166,197,33],"22419898",[232,34,33,166,191,33],"22420319",[234,34,33,166,235,33],"22419855","soperj",[237,34,33,166,197,33],"22419885",[239,34,33,166,163,33],"22420354",[241,34,33,166,242,33],"22420365","tdumitrescu",[244,34,33,166,194,33],"22420911",[246,34,33,166,247,33],"22421847","inglor",[136,34,33,166,137,33],[250,34,33,166,251,33],"22424083","acemarke",[253,34,33,166,254,33],"22424271","jfengel",[89,38,43,256,78,33],"project\u002Fpositive\u002Fexecution",[129,147,33,166,130,33],[259,147,33,166,260,33],"22421374","RexM",[262,43,38,263,264,33],"22420850","maker\u002Fneutral\u002Fnone","asimjalis",[59,43,33,263,11,40],[267,43,38,263,264,33],"22421443",[62,43,33,269,11,40],"maker\u002Fneutral\u002Fpricing",[271,156,38,272,273,33],"22421510","project\u002Fneutral\u002Fidea","vadiml",[275,276,33,166,277,33],"22420470",7,"lqs469",[279,31,43,280,281,33],"22442162","project\u002Fpositive\u002Fnone","keva161",[152,31,33,263,11,40],[143,32,38,272,144,33],[285,32,33,166,286,33],"22422066","PopeDotNinja",[288,18,38,272,289,33],"22421295","dvfjsdhgfv",[291,18,40,292,293,33],"22421484","project\u002Fcritical\u002Fnone","lorey",[295,18,43,280,289,33],"22421619",[297,298,33,166,299,33],"22420460",11,"WalterBright",[301,302,43,216,303,33],"22419141",12,"jschwartzi",[305,302,43,216,228,33],"22419760",[307,302,33,166,308,33],"22419965","edoceo",[310,302,33,166,311,33],"22420722","thangalin",[313,314,43,280,315,33],"22421462",13,"zabil",[317,314,33,170,11,40],"22421492",[319,314,33,170,320,33],"22421558","fraktl",[113,322,38,323,114,33],14,"project\u002Fneutral\u002Fdesign",[77,322,38,323,78,33],[326,322,38,323,327,33],"22419548","emmanueloga_",[],[330,334,338,343,347,351],{"id":331,"name":332,"points":333,"category":20},"22396824","grep.app",614,{"id":335,"name":336,"points":337,"category":20},"22374991","Kasaya",386,{"id":339,"name":340,"points":341,"category":342},"22385408","MDAnki",179,"learning_science",{"id":344,"name":345,"points":346,"category":20},"22425080","Opensource.builders",161,{"id":348,"name":349,"points":350,"category":20},"22415042","Shox",99,{"id":352,"name":353,"points":354,"category":355},"22389239","exchange",91,"finance_crypto",false,"v2",{"id":359,"name":5,"line":6,"ai":356,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":360,"top":18,"kw":361,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":362,"url":9,"mix":363,"praise":86,"objection":97,"sub":21},22416258,0.3,[24,25,26,27],"5030000000003000000000050333053330505033",[31,32,33,34],1794036586884]