{"id":457,"date":"2015-09-21T20:58:50","date_gmt":"2015-09-21T20:58:50","guid":{"rendered":"http:\/\/blog.mozilla.org\/webqa\/?p=457"},"modified":"2015-09-21T20:58:50","modified_gmt":"2015-09-21T20:58:50","slug":"selenium-conference-2015-wrap-up-notes","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/fxtesteng\/2015\/09\/21\/selenium-conference-2015-wrap-up-notes\/","title":{"rendered":"Selenium Conference 2015 Wrap-up Notes"},"content":{"rendered":"<p><strong>This year, I set out to attend <a href=\"http:\/\/year-2015.seleniumconf.org\/\">Selenium Conference 2015<\/a> with some specific goals:<\/strong><\/p>\n<ol>\n<li>See which JavaScript framework(s)\/librar(y|ies) are being used and recommended for &#8220;full-stack&#8221; testing (as a potential complement or replacement to our Python stack).\u00a0 Check out an earlier post on <a href=\"https:\/\/blog.mozilla.org\/webqa\/2015\/01\/15\/make-the-intern-do-it\/\">InternJS<\/a> for our goals and challenges.<\/li>\n<li>See which mobile-testing strategies + tooling are being used.<\/li>\n<li>Look into what folks are using <a href=\"https:\/\/www.docker.com\/\">Docker<\/a> for, and how we might apply it.<\/li>\n<li>Cloud, cloud, cloud (and, more specifically, for us) + <a href=\"http:\/\/docs.aws.amazon.com\/gettingstarted\/latest\/awsgsg-intro\/gsg-aws-intro.html\">AWS<\/a> &#8211; what are companies and organizations of all sizes and needs using it for, testing-wise, and what are the considerations and gotchas, etc., as well as how testing considerations change in the DevOps model that often accompanies cloud.<\/li>\n<li>Which open-source tools can we use + hopefully integrate, to get performance + accessibility testing, along with our functional tests?\u00a0 (Particularly, as close to <a href=\"http:\/\/newrelic.com\/insights\">Real User Monitoring<\/a> as we can get, without a third-party, expensive, hosted solution &#8211; or in addition.)<\/li>\n<li>Catch up on what the core committers of the <a href=\"http:\/\/docs.seleniumhq.org\/\">Selenium project<\/a> are doing, thinking, and where the project is next headed.<\/li>\n<li>General information-seeking + evangelizing, particularly around open-source offerings, both in terms of what we could potentially use, but also sharing what we&#8217;ve done, are working on, and can share with the community.<\/li>\n<\/ol>\n<p><strong>Talks I attended and particularly enjoyed were:<\/strong><\/p>\n<ol>\n<li>Simon Stewart&#8217;s keynote, entitled: Selenium: State of the Union &#8211; <a href=\"https:\/\/www.youtube.com\/embed\/EWpjw0nDR2A?feature=oembed\">video<\/a> (no slides available)<\/li>\n<li>Curing Imposter Syndrome &#8211; <a href=\"https:\/\/www.youtube.com\/embed\/bKUlyMaKz8Y?feature=oembed\">video<\/a>, <a href=\"https:\/\/slidebean.com\/p\/ZsAH6qFnmr\/Curing-Impostor-Syndrome\">slides<\/a><\/li>\n<li>Mobile End-to-End Testing at Scale: Stable, Useful, Easy &#8211; Pick Three &#8211; <a href=\"https:\/\/www.youtube.com\/embed\/7tzA2nsg1jQ?feature=oembed\">video<\/a>, <a href=\"https:\/\/dl.dropboxusercontent.com\/u\/529524\/Selenium%20Conf\/Presenter%20slides\/2015\/Remi_Chaintron-Mobile_End_To_End_Testing_at_Scale.pdf\">slides<\/a><\/li>\n<li>Distributed Automation using Selenium Grid\/AWS\/Auto-scaling &#8211; <a href=\"https:\/\/www.youtube.com\/embed\/cbIfU1fvGeo?feature=oembed\">video<\/a>, <a href=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/H7QmI1pAf2r9u7?feature=oembed\">slides<\/a><\/li>\n<li>Docker Selenium: Getting Started &#8211; <a href=\"https:\/\/www.youtube.com\/embed\/S4OkrnFb-YY?feature=oembed\">video<\/a>, <a href=\"https:\/\/speakerdeck.com\/player\/7e67aec060da4904b66c78853b18994b?feature=oembed\">slides<\/a><\/li>\n<\/ol>\n<p><strong>A few key takeaways:<\/strong><\/p>\n<ol>\n<li>Very common among many companies for monitoring and continuous deployment were: <a href=\"https:\/\/github.com\/etsy\/statsd\">statsd<\/a>, <a href=\"http:\/\/graphite.wikidot.com\/\">graphite<\/a>, <a href=\"http:\/\/jenkins-ci.org\/\">Jenkins CI<\/a>, and <a href=\"https:\/\/travis-ci.org\/\">Travis CI<\/a>.<\/li>\n<li>If not optimized, AWS can be _very_ expensive, and you can very easily end up wasting paid-for computing cycles\/resources.<\/li>\n<li>Docker looks very useful if you only need to test (using <a href=\"https:\/\/github.com\/SeleniumHQ\/selenium\/wiki\/Grid2\">Selenium Grid<\/a>) on Linux, primarily &#8211; it&#8217;s less clear with Windows + Mac.\u00a0 The particular talk on this used Ruby as its language, although it shouldn&#8217;t be too much work to do in Python.<\/li>\n<li>All the core committers I spoke with, and other industry peers as well, recommended &#8220;just using&#8221; <a href=\"https:\/\/code.google.com\/p\/selenium\/wiki\/WebDriverJs\">WebDriverJS<\/a> if we&#8217;re going to continue experimenting with JavaScript-based, developer-integration level testing.\u00a0 Yahoo! has also used <a href=\"https:\/\/github.com\/angular\/protractor\">Protractor<\/a> (for Angular apps) + <a href=\"http:\/\/casperjs.org\/\">CasperJS<\/a>, along with WebDriverJS as its core, with good results.<\/li>\n<li>Lots of discussion around mobile testing, and while most of the folks testing mobile do so using <a href=\"http:\/\/appium.io\/\">Appium<\/a> (as do we), the needs vary widely, as with good monitoring and responsive design, there isn&#8217;t always a need to do full end-to-end tests across all devices.\u00a0 This also depends on whether you&#8217;re testing a mobile website or a native app on Android or iOS, of course.\u00a0 Appium 1.5 is coming soon, we learned, and will be a nice, clean release with a lot of fixes + features.<\/li>\n<li>Yahoo! has used <a href=\"http:\/\/www.sitespeed.io\">sitespeed.io<\/a> to drive <a href=\"http:\/\/www.webpagetest.org\/\">webpagetest.org<\/a>; it looks really useful, and thankfully seems kept up-to-date.<\/li>\n<\/ol>\n<p><strong>Action Items:<\/strong><\/p>\n<ol>\n<li>Catch-up with the remainder of the <a href=\"http:\/\/confengine.com\/selenium-conf-2015\/schedule\/new\">Selenium Conference 2015 talks<\/a> I wasn&#8217;t able to attend.<\/li>\n<li>Look further into the potential use-case(s) for Docker, test-infrastructure wise.<\/li>\n<li>Investigate integrating a Selenium proxy (such as <a href=\"https:\/\/github.com\/lightbody\/browsermob-proxy\">browsermob-proxy<\/a>) with HAR files and potentially Apache\/Nginx server logs, to augment our HTML Reports with richer, more timely information to help better-report and debug problems (heavily re-inspired by the Facebook talk!)<\/li>\n<li>Look into the possibilities of scaling our tests + increasing performance using AWS\/cloud infra, while balancing cost considerations.<\/li>\n<li>Look into evaluating and potentially integrating visual-comparison testing tools, such as <a href=\"https:\/\/applitools.com\/\">Applitools Eyes<\/a>.<\/li>\n<li>Evangelize &#8211; through blog posts, meetups, etc., more of what Web QA and Mozilla are up to &#8211; particularly for our peers and community&#8217;s benefit.<\/li>\n<\/ol>\n<p>For more wrap-up posts on last week&#8217;s separate, but follow-on Web QA team meetings, look here, as well: <a href=\"https:\/\/blog.mozilla.org\/webqa\/category\/meetings\/\">https:\/\/blog.mozilla.org\/webqa\/category\/meetings\/<\/a><\/p>\n<p>Keep an eye on this blog for future posts; we&#8217;ll be posting a little more often than we have in recent months!<\/p>\n<p>&#8211; <a href=\"https:\/\/mozillians.org\/en-US\/u\/stephend\/\">Stephen<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This year, I set out to attend Selenium Conference 2015 with some specific goals: See which JavaScript framework(s)\/librar(y|ies) are being used and recommended for &#8220;full-stack&#8221; testing (as a potential complement &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/fxtesteng\/2015\/09\/21\/selenium-conference-2015-wrap-up-notes\/\">Read more<\/a><\/p>\n","protected":false},"author":512,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,39],"tags":[25193],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/457"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/users\/512"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/comments?post=457"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/457\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/media?parent=457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/categories?post=457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/tags?post=457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}