<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Smattering on Selenium</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/tags/smattering/</link><description>Recent content in Smattering on Selenium</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Apr 2024 05:24:49 -0500</lastBuildDate><atom:link href="https://deploy-preview-2575--selenium-dev.netlify.app/tags/smattering/index.xml" rel="self" type="application/rss+xml"/><item><title>A Smattering of Selenium #157</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-157/</link><pubDate>Sun, 18 Aug 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-157/</guid><description>&lt;p>Trying to find every excuse not to cut the grass … including apparently closing some browser tabs.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://idtus.com/blog/interoperability-standardized-test-information-interchange/">Interoperability – Standardized Test Information Interchange&lt;/a> has me so full of ‘meh’ as to be hilarious. Commercially driven standards rarely are and/or I am just too much of an open source person to accept this model for standards development&lt;/li>
&lt;li>&lt;a href="http://lucumr.pocoo.org/2013/7/23/licensing/">Licensing in a Post Copyright World&lt;/a> – important&lt;/li>
&lt;li>&lt;a href="https://segment.io/blog/how-to-make-async-requests-in-php/">How to Make Async Requests in PHP&lt;/a> is php specific in its solution, but has some interesting bits about socket establishment that applies to other ones as well&lt;/li>
&lt;li>&lt;a href="http://fadefade.com/json-comments.html">Adding Comments to JSON&lt;/a> feels like a hack. Buts a clever hack.&lt;/li>
&lt;li>&lt;a href="http://axelfontaine.com/blog/final-nail.html">Maven Release Plugin: The Final Nail in the Coffin&lt;/a> takes great joy in removing part of the maven environment from their workflow. And really, who doesn’t?&lt;/li>
&lt;li>&lt;a href="http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/">Open Sourcing a Python Project the Right Way&lt;/a> is nice … though of course, as with everything else these days, it has some Github specific isms. You &lt;em>can&lt;/em> do it the right way with hg and bitbucket of course… and that is disclaimed in the article&lt;/li>
&lt;li>&lt;a href="http://ihaztehcodez.michael-lloyd-lee.me.uk/2013/07/headless-watir.html">Headless Watir&lt;/a> using both HTTPUnit and PhantomJS&lt;/li>
&lt;li>&lt;a href="http://jimevansmusic.blogspot.ca/2013/08/implementing-http-status-codes-in.html">Implementing HTTP Status Codes in WebDriver, Part 2: Achievement Unlocked&lt;/a> – umm, part 2?&lt;/li>
&lt;li>&lt;a href="http://selenium34.wordpress.com/2013/08/14/phantomjs-plugins-aws-browsermob-proxy/">PhantomJS + Plugins + AWS + BrowserMob Proxy&lt;/a> – proxy all the things! Including headless things.&lt;/li>
&lt;li>&lt;a href="http://teddziuba.com/post/58003369831/mastering-the-craft">Mastering the Craft&lt;/a> is a good reminder, but also, eBay has its own customized version of eclipse? Guessing this is one of those ‘at scale’ solutions&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #156</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-156/</link><pubDate>Mon, 12 Aug 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-156/</guid><description>&lt;p>Brain fried from PyCon Canada 2013 and ‘some’ browser tab is misbehaving which means its time to start closing some of these.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://antecedent.github.io/patchwork/">Patchwork&lt;/a> seems like an awesome idea, but at the same time, I’ve had to work in heavily monkey-patched RoR apps before…&lt;/li>
&lt;li>&lt;a href="https://igor.io/2013/07/26/evolving-syntax.html">Evolving syntax&lt;/a> is PHP specific in its examples, but the ideas transfer&lt;/li>
&lt;li>&lt;a href="http://adaptengine.com/blog/2013/07/24/roslyn-plus-selenium-scripty-csharp-powering-browser-automation/">Roslyn + Selenium: Scripty C# Powering Browser Automation&lt;/a> – some C# voodoo?&lt;/li>
&lt;li>&lt;a href="http://dnlkntt.wordpress.com/2013/08/07/its-like-10000-knives-when-all-you-need-is-a-spoon/">It’s like 10000 knives when all you need is a Spoon&lt;/a> – or specifically, this particular spoon which is yet-another-android-automation-tool. See comments for a bit of discussion re Appium which seems to be the currently best marketed solution in this space&lt;/li>
&lt;li>&lt;a href="http://www.diku.dk/hjemmesider/ansatte/torbenm/Planet/">Planet generator&lt;/a> has absolutely nothing to do with automation, but is just cool&lt;/li>
&lt;li>&lt;a href="http://www.testspicer.com/">TestSpicer&lt;/a> could be cool if it is massively flushed out&lt;/li>
&lt;li>&lt;a href="http://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.110%29.aspx">Compatibility changes in IE11 Preview&lt;/a> is going to break things I fear, for instance the readyState stuff?&lt;/li>
&lt;li>&lt;a href="https://speakerdeck.com/pyconca">PyCon Canada 2013 decks&lt;/a> are now up&lt;/li>
&lt;li>&lt;a href="http://jimevansmusic.blogspot.ca/2013/08/implementing-webdriver-http-status.html">Implementing WebDriver HTTP Status Codes, Part 1: Challenge Accepted&lt;/a> – is interesting in that it uses Fiddler&lt;/li>
&lt;li>&lt;a href="http://www.karlgroves.com/2013/05/14/links-are-not-buttons-neither-are-divs-and-spans/">Links are not buttons. Neither are DIVs and SPANs&lt;/a> – this, a million times.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #155</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-155/</link><pubDate>Sun, 28 Jul 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-155/</guid><description>&lt;p>A ‘should be scripting, but brain stuck in neutral so closing some tabs’ edition of the Smattering.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.90percentofeverything.com/2013/07/23/the-slippery-slope/">The slippery slope&lt;/a> isn’t automation related, but if your employer does these things I’d suggest logging a bug and then finding an ethical job&lt;/li>
&lt;li>&lt;a href="https://caremad.io/blog/packaging-signing-not-holy-grail/">Why Package Signing is not the Holy Grail&lt;/a> – crypto / security is hard. Also, I have a signed package for you to install…&lt;/li>
&lt;li>&lt;a href="http://blog.preinheimer.com/index.php?/archives/416-PHP-and-Async-requests-with-file-based-sessions.html">PHP and Async requests with file based sessions&lt;/a> could be a way to speed up a PHP site. Which in turn reduces the amount of time your scripts take to run&lt;/li>
&lt;li>&lt;a href="http://canadipsum.com/">Canadipsum, eh?&lt;/a> just because. (eh)&lt;/li>
&lt;li>&lt;a href="http://blogs.infosupport.com/using-codedui-testautomation-without-uimap-files/">Using CodedUI testautomation without UIMap files&lt;/a> brings Page Objects to CodedUI&lt;/li>
&lt;li>&lt;a href="http://blog.matthewskelton.net/2013/07/22/continuous-delivery-workshop-with-neal-ford-neal4d-a-retrospective/">Continuous Delivery Workshop With Neal Ford (@Neal4D) – a Retrospective&lt;/a> – yup, the hard part is not the technical bit, but the people parts&lt;/li>
&lt;li>&lt;a href="http://librarian-puppet.com/">librarian-puppet&lt;/a> says &lt;em>You can all stop using git submodules now&lt;/em> which is good enough for me&lt;/li>
&lt;li>&lt;a href="http://swdandruby.wordpress.com/2013/07/26/highlighting-the-element-before-any-clicks-a-foray-into-the-abstracteventlistener/">Highlighting the element before any clicks: A foray into the AbstractEventListener&lt;/a> — the event listener stuff is something I need to sort out.&lt;/li>
&lt;li>&lt;a href="http://www.phptesting.org/">phpci&lt;/a> is built specifically for php apps, and doesn’t pretend to have the features something like jenkins does&lt;/li>
&lt;li>&lt;a href="http://words.steveklabnik.com/beware-subclassing-ruby-core-classes">Beware subclassing Ruby core classes&lt;/a> – there are likely parallels in other languages as well.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #154</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-154/</link><pubDate>Tue, 23 Jul 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-154/</guid><description>&lt;p>Apparently today’s ‘wait for an email’ task is to whittle down the smattering queue some more.&lt;/p>
&lt;ul>
&lt;li>I won’t even pretend that &lt;a href="http://foaas.com/">FOAAS&lt;/a> has to do with automation, but makes me laugh. Also, depending on how crappy your place of work is, it might not be SFW&lt;/li>
&lt;li>&lt;a href="https://wiki.php.net/rfc/use_function">PHP RFC: Importing namespaced functions&lt;/a> is interesting if you are writing your scripts in a Functional manner. In PHP. In a future where it gets accepted and implemented.&lt;/li>
&lt;li>&lt;a href="http://www.webperformance.com/load-testing/blog/2013/05/measuring-web-page-load-times-using-jmeter/">Measuring Web Page Load Times using JMeter&lt;/a> — and read the response articles too for clarification / elaboration&lt;/li>
&lt;li>I kinda like that Se suites are making their way into large projects such as &lt;a href="https://github.com/moodlehq/functional-test-suite">Moodle’s functional-test-suite repo&lt;/a>. But at the same time it worries me when it hasn’t had a commit in 10 months. Suites should likely change even more than the app code it exercises&lt;/li>
&lt;li>&lt;a href="http://searls.testdouble.com/posts/2013-03-21-jasmine-tactics-screencast.html">jasmine tactics screencast&lt;/a> — on the long list of tools I should learn&lt;/li>
&lt;li>&lt;a href="http://blog.mogotest.com/2013/03/25/introducing-the-mogotest-jenkins-plugin/">Introducing the Mogotest Jenkins Plugin&lt;/a> – hurray for more pipeline integration points&lt;/li>
&lt;li>&lt;a href="http://blog.korynunn.com/javascript/the-dom-isnt-slow-you-are/">The DOM isn’t slow, you are.&lt;/a> — set the phasers on snark, and then read it anyways.&lt;/li>
&lt;li>&lt;a href="http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/">Cross-Browser, Event-based, Element Resize Detection&lt;/a> – edges are sharp.&lt;/li>
&lt;li>&lt;a href="http://www.copyblogger.com/social-media-marketing-roi/">There is No ROI in Social Media Marketing&lt;/a> – read this, and now read it again swapping in Functional Automation everywhere&lt;/li>
&lt;li>&lt;a href="http://hellogeri.com/blog/view/now_available_pocket_guide_to_colour_accessibility">Now Available: Pocket Guide to Colour Accessibility&lt;/a> could, in theory, be translated into a set of ‘rules’ to validate pages against since we can the colour of elements and their computed css values.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #153</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-153/</link><pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-153/</guid><description>&lt;p>A Sunday Smattering? Sure!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.reallysimplethoughts.com/2013/07/14/solution-to-the-selenium-with-firefox-22-issues-and-how-to-report-issues/">Solution to the Selenium with Firefox 22 Issues and How to Report Issues&lt;/a> – Open Source is hard. Supporting Open Source’s infrastructure is harder — by a large margin&lt;/li>
&lt;li>&lt;a href="https://github.com/i-trofimtschuk/frequests">frequests&lt;/a> – asyncronous HTTP Requests; not sure where I would use this, but…&lt;/li>
&lt;li>&lt;a href="http://pilif.github.io/2013/07/why-I-dont-touch-crypto/">why I don’t touch crypo&lt;/a> – again, don’t. touch. crypto&lt;/li>
&lt;li>&lt;a href="http://www.webdirections.org/blog/five-reasons-why-you-should-quote-attribute-values-in-html5">Five reasons why you should quote attribute values in HTML5&lt;/a> – for the record, you should do this in HTML 4 as well.&lt;/li>
&lt;li>&lt;a href="http://www.youtube.com/playlist?list=PLmV2D6sIiX3UpQFzAIWh-_gsUTGCCtFIj">All the ‘Write The Docs session videos&lt;/a> — a conference I couldn’t afford to attend, and likely don’t have the time to watch the videos now&lt;/li>
&lt;li>&lt;a href="http://blog.chariotsolutions.com/2013/07/automated-testing-of-html5-canvas.html">Automated Testing of HTML5 Canvas Applications with Selenium WebDriver&lt;/a> – more and more important…&lt;/li>
&lt;li>&lt;a href="http://swdandruby.wordpress.com/2013/07/12/solving-window-onbeforeunload-nasty-prompts/">Solving window.onbeforeunload nasty prompts&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pypi.python.org/pypi/pytest-poo">pytest-poo&lt;/a> for when your tests are, erm, crappy&lt;/li>
&lt;li>&lt;a href="http://ljouanneau.com/blog/post/2013/07/15/Tada-Here-is-SlimerJS">Tada! Here is SlimerJS!&lt;/a> – like PhantomJS but for Gecko. I think.&lt;/li>
&lt;li>&lt;a href="http://swdandruby.wordpress.com/2013/07/19/did-i-select-the-right-element/">Did I select the right element?&lt;/a> is a neat trick for highlighting things — even if the escaping of the code didn’t seem to survive formatting&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #152</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-152/</link><pubDate>Thu, 11 Jul 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-152/</guid><description>&lt;p>40-ish minutes until midnight eastern so that counts as two days in a row, right? Right?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://tobiasgeyer.wordpress.com/2013/07/04/improving-jenkins-execution-times-by-common-sense/">Improving jenkins execution times by common sense&lt;/a> — common sense. sadly lacking most days.&lt;/li>
&lt;li>&lt;a href="http://www.testinggeek.com/how-to-make-test-automation-more-effective">How to make test automation more effective?&lt;/a> is useful up until the pitch at the end. So read until you get to that.&lt;/li>
&lt;li>&lt;a href="http://phpmaster.com/data-structures-2/">Data Structures for PHP Devs: Trees&lt;/a> – non-trivial data structures are non-trivial&lt;/li>
&lt;li>&lt;a href="http://c089.wordpress.com/2013/07/06/writing-clean-webdriver-test-suites-for-duplicate-functionality-by-parameterizing-on-page-objects/">Writing clean WebDriver test suites for “duplicate” functionality by parameterizing on page objects&lt;/a> – I especially like the usage of ‘might’ at the top&lt;/li>
&lt;li>&lt;a href="https://npmjs.org/package/dalek-internal-webdriver">dalek-internal-webdriver&lt;/a> – what’s a day without a JS webdriver implementation?&lt;/li>
&lt;li>&lt;a href="http://www.html5rocks.com/en/tutorials/internals/antialiasing-101/">Antialiasing 101&lt;/a> – I kinda think that automators should just spend a day reading this site rather than reddit&lt;/li>
&lt;li>&lt;a href="http://myronmars.to/n/dev-blog/2013/07/rspec-2-14-is-released">RSpec 2.14 is released!&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.chmod777self.com/2013/07/http2-status-update.html">HTTP/2 Status Update&lt;/a> – Ugh.&lt;/li>
&lt;li>&lt;a href="http://thephp.cc/viewpoints/blog/2013/07/php-5-5-generators">PHP 5.5: Generators&lt;/a> – You know, with yesterday’s phpenv I’m almost tempted to make some of my stuff PHP 5.5…&lt;/li>
&lt;li>&lt;a href="http://arrgyle.com/blog/program-like-a-machinist/">Program Like a Machinist&lt;/a> – hurray for understanding the motorcycle example!&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #151</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-151/</link><pubDate>Wed, 10 Jul 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-151/</guid><description>&lt;p>Almost a month after the last one. Though it did nice to have it at 150 when people go to the blog … but a greater number is nicer.&lt;/p>
&lt;ul>
&lt;li>So I was trying to find &lt;a href="http://requests.ryanmccue.info/">Requests for PHP&lt;/a> whilst talking to &lt;a href="http://grumpy-phpunit.com/">the grumpy programmer&lt;/a> and he pointed me out to &lt;a href="http://guzzlephp.org/index.html">Guzzle&lt;/a> which looks equally cool&lt;/li>
&lt;li>&lt;a href="http://stupidpythonideas.blogspot.com.au/2013/06/can-you-optimize-listgenexp.html">Can you optimize list(genexp)&lt;/a> is one of those geeky language internals things that could be handy to have in your back pocket&lt;/li>
&lt;li>&lt;a href="http://simplythetest.tumblr.com/post/54558598766/slightly-snarky-gwt-debug-id-faq">Slightly Snarky GWT Debug ID FAQ&lt;/a> – c’mon, when have you seen a more blatantly ‘put this in the smattering’ title than this?&lt;/li>
&lt;li>&lt;a href="https://github.com/CHH/phpenv">phpenv&lt;/a> could be useful. And could be I mean ‘holy crap this is useful’ — but then again, I do actually need 3 different versions of PHP locally. YMMV&lt;/li>
&lt;li>&lt;a href="http://oneandonemakesthreeright.blogspot.be/2013/06/pain-killing-pingpongers-decease.html">Pain killing the pingponger’s decease&lt;/a> is by their own admission not stable, but is a nice temporary solution. And illustrates why you should learn your tools — if they didn’t know about custom annotations and their runners in JUnit they would have missed this.&lt;/li>
&lt;li>Yet another JS testing framework has grown a webdriver tentacle – &lt;a href="https://github.com/karma-runner/karma-webdriver-launcher">karma-webdriver-launcher&lt;/a>&lt;/li>
&lt;li>I barely understand a word of &lt;a href="https://github.com/raganwald/homoiconic/blob/master/2012/08/method-decorators-and-combinators-in-coffeescript.md#method-combinators-in-coffeescript">Method Combinators in CoffeeScript&lt;/a> which is often a sign I should include something&lt;/li>
&lt;li>&lt;a href="http://bigqueri.es/t/how-are-javascript-files-being-served-and-how-many-are-there/36">How are JavaScript files being served and how many are there?&lt;/a> is interesting … even if I don’t understand what/where he has put all this HAR information so one could reproduce this on their one data&lt;/li>
&lt;li>&lt;a href="http://andrewkelley.me/post/jamulator.html">Statically Recompiling NES Games into Native Executables with LLVM and Go&lt;/a> – $entity help us if we ever need to do this level of ridiculousness to drive browsers, but holy wow its cool.&lt;/li>
&lt;li>Remember I said I should just auto-include all of Raymond Hettinger’s SO answers? Well, here’s another one – &lt;a href="http://stackoverflow.com/questions/17006127/python-importing-class-attributes-into-method-local-namespace/17006268#17006268">Python importing class attributes into method local namespace&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #150</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-150/</link><pubDate>Fri, 14 Jun 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-150/</guid><description>&lt;p>Yup, this smattering has very little to do with Selenium, but… 150!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.pamelafox.org/2013/06/referencing-dom-from-js-there-must-be.html">Referencing DOM from JS: there must be a DRYer, safer way&lt;/a> is a nice ‘here is where I started, and here is how I ended up where I am’ post which can be stolen into other languages / frameworks other than in Backbone&lt;/li>
&lt;li>&lt;a href="https://blog.engineyard.com/2013/hash-lookup-in-ruby-why-is-it-so-fast">Hash lookup in Ruby, why is it so fast?&lt;/a> is not something I was wondering, but now I know why.&lt;/li>
&lt;li>&lt;a href="http://www.jstorimer.com/blogs/workingwithcode/8100871-nobody-understands-the-gil-part-2-implementation">Nobody understands the GIL&lt;/a> – in any language.&lt;/li>
&lt;li>&lt;a href="https://groups.google.com/forum/#!msg/php-fig/WMaKNNhHZJw/Waib99Zzf68J">Resource Locator Discussion&lt;/a> – namespace all the things!&lt;/li>
&lt;li>&lt;a href="http://dhemery.com/pdf/test-automation-zombie-apocalypse.pdf">How to Survive the Coming Test Automation Zombie Apocalypse&lt;/a> is abso-freaking-lutely awesome&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/dimacus/5757573">Blackhole proxy to block all external calls&lt;/a> is a snippet that came out of SeConf this week&lt;/li>
&lt;li>&lt;a href="http://nedbatchelder.com/blog/201306/filter_a_list_into_two_parts.html">Filter a list into two parts&lt;/a>. Ouch. My brain just broke. (But generators do that to me.)&lt;/li>
&lt;li>&lt;a href="http://www.amazon.com/about-dates-times-computing-ebook/dp/B00DCJZDYE/">What you need to know about dates and times in computing&lt;/a> could be useful. If one kindles.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/wolever/5762823">SSL Helpers&lt;/a> is a couple python scripts for manipulating certificates&lt;/li>
&lt;li>&lt;a href="http://storyautomation.com/">storyautomation&lt;/a> seems to have a number of decent posts. Of course, they are around RC so I was hesitant to link to it, but it looks like the ideas could transpose up to WebDriver&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #149</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-149/</link><pubDate>Wed, 05 Jun 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-149/</guid><description>&lt;p>Too. Many. Tabs.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://watirmelon.com/2013/05/30/internationalization-and-localization-testing/">Internationalization and Localization Testing&lt;/a> — yup, I agree.&lt;/li>
&lt;li>&lt;a href="http://daker.me/2013/05/5-html5-features-you-need-to-know.html">5 HTML5 Features you need to know&lt;/a> – ‘download attribute’ and ‘datalist element’ might be a pain for us automators. Or at least cause a couple hours annoyance until we figure out the pattern.&lt;/li>
&lt;li>&lt;a href="http://minds.coremedia.com/2013/06/03/death-to-sleeps-raise-of-conditions/">Death to sleeps! Raise of Conditions!&lt;/a> – expected conditions is likely the next thing to get more marketing this year&lt;/li>
&lt;li>&lt;a href="http://pythonhosted.org/line_profiler/">line_profiler and kernprof&lt;/a> – profiling is black magic voodoo&lt;/li>
&lt;li>&lt;a href="https://github.com/avdi/naught">Naught&lt;/a> – ‘Naught is a toolkit for building Null Objects in Ruby.’&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/10436454/replacing-a-substring-of-a-string-with-python/10436832">Replacing a substring of a string with Python&lt;/a> – Raymond’s answers always simultaneously break my break and blow my mind.&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/16645083/when-splitting-an-empty-string-in-python-why-does-split-return-an-empty-list/16645307">When splitting an empty string in Python, why does split() return an empty list while split(‘\n’) returns [”]?&lt;/a> – see what I mean?&lt;/li>
&lt;li>&lt;a href="http://element34.ca/blog/so-you-want-to-build-a-framework">So you want to build a framework&lt;/a> – mine, but important. (I think.)&lt;/li>
&lt;li>&lt;a href="http://adit.io/posts/2013-05-15-Locks,-Actors,-And-STM-In-Pictures.html">Locks, Actors, And STM In Pictures&lt;/a> – ya! pictures!&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2013/05/14/packaging-a-ruby-script-as-an-windows-exe-using-ocra/">Packaging a ruby script as an Windows exe using OCRA&lt;/a> looks like something useful&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #148</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-148/</link><pubDate>Mon, 13 May 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-148/</guid><description>&lt;p>Gotta start this up again…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://docs.google.com/presentation/d/1zImieKjgfF2mvTEfLhkKnJpBrsq-shMWz1DMb-fxOoQ/edit#slide=id.gc15489c2_3_0">The Evil Tester Guide To HTTP Proxies&lt;/a> appears to be more for using proxies for manual testing, but you &lt;em>should&lt;/em> be running your automation through one as well so it helps to understand the magic that takes place.&lt;/li>
&lt;li>New &lt;a href="http://bmp.lightbody.net/">BrowserMob Proxy&lt;/a> release. Bindings should all be updated for the newly exposed methods in a couple days.&lt;/li>
&lt;li>&lt;a href="http://flippinawesome.org/2013/05/06/5-things-you-should-stop-doing-with-jquery/#__sid=0">5 Things You Should Stop Doing With jQuery&lt;/a> – Not sure whats better, the content, or the Saved By The Bell theme&lt;/li>
&lt;li>&lt;a href="https://pypi.python.org/pypi/testtools">testtools&lt;/a> is the latest hotness in the world of Python runners?&lt;/li>
&lt;li>&lt;a href="https://github.com/d11wtq/boris">Boris&lt;/a> looks pretty useful for the PHP folks&lt;/li>
&lt;li>&lt;a href="http://paulhammant.com/2013/05/06/googles-scaled-trunk-based-development/">Google’s Scaled Trunk Based Development&lt;/a> – even if you are not Google, you should be doing this. Or as much as you can (again, you are likely not Google)&lt;/li>
&lt;li>&lt;a href="http://artsy.github.io/blog/2012/02/03/reliably-testing-asynchronous-ui-w-slash-rspec-and-capybara/">Reliably Testing Asynchronous UI W/ RSpec and Capybara&lt;/a> isn’t new, but the &lt;em>wait_for_dom&lt;/em> thing is new [to me]&lt;/li>
&lt;li>&lt;a href="http://www.holovaty.com/writing/in-defense-of-canvas/">In defense of &lt;canvas>&lt;/a> – canvas worries me&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/one-does-not-simply-set-profile-for-remote-chrome/">One Does Not Simply Set Profile for Remote Chrome&lt;/a> is Watir, but links to the pure WebDriver in SO article. I don’t think any of the other bindings deliver chrome profiles over the wire…&lt;/li>
&lt;li>&lt;a href="https://github.com/moodlehq/functional-test-suite">The Moodle Functional Test Automation Harness&lt;/a> – always fun to peek into other’s suites&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #147</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-147/</link><pubDate>Thu, 14 Mar 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-147/</guid><description>&lt;p>My. Get. Productive. I know! I’ll push out a smattering. Oh. …&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://speakerdeck.com/mleone/python-for-ruby-programmers">Python for Ruby Programmers&lt;/a> is a pretty good deck, with the requisite snark at the end that you can safely ignore.&lt;/li>
&lt;li>&lt;a href="http://blog.ivandemarino.me/2013/03/03/Me-Selenium-Camp-2013">Me @ Selenium Camp 2013&lt;/a> is Ivan’s mini-experience-report from SeCamp and has his slides on GhostDriver&lt;/li>
&lt;li>Using pip in production? &lt;a href="http://tartley.com/?p=1423">pip install : Lightspeed and Bulletproof&lt;/a> is a useful trick which I know I’ve done variants of with java and ruby in the past&lt;/li>
&lt;li>&lt;a href="http://www.seleniumconf.org/speakers/">SeConf speakers are up&lt;/a> — and the list looks really good&lt;/li>
&lt;li>&lt;a href="http://www.brandonsavage.net/interfaces-or-abstract-classes/">Interfaces or Abstract Classes?&lt;/a> is marketing fodder, but its the best kind of fodder since its actually useful. For those of us still working through PHP.&lt;/li>
&lt;li>I forgot about this semantic war in the whole three weeks since it happened…
&lt;ul>
&lt;li>&lt;a href="http://context-driven-testing.com/?p=69">The Insapience of Anti-Automationism&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.developsense.com/blog/2013/02/manual-and-automated-testing/">“Manual” and “Automated” Testing&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://xprogramming.com/articles/manual-testing-does-exist-and-it-is-bad/">Manual Testing Does Exist and It Is Bad&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://carstenfeilberg.blogspot.dk/2013/03/my-two-on-opposite-terms.html">My two € on opposite terms&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://speakerdeck.com/mathieu_calba/android-ui-design-pattern-in-practice-english-version">Android UI Design Pattern in practice&lt;/a> is not only useful, but I like the format…&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/mikebrittain/mbrittain-continuous-deploymentalm3public">Continuous Deployment: The Dirty Details&lt;/a> – slide 18, 36, 42, 83, 102 are the killer slides. 102 is the killer-est slide and is where I would enter a semantic debate with the fine folks at Etsy over whether they are doing Continuous Deployment or Continuous Delivery&lt;/li>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2013/could-css3-be-making-sites-that-are-not-testable.html">Could CSS3 be making sites that are not testable?&lt;/a> – New standards making the life of automators more incredibly hard? Never!&lt;/li>
&lt;li>&lt;a href="http://coreygoldberg.blogspot.ca/2013/01/python-verify-png-file-and-get-image.html">Python – verify a PNG file and get image dimensions&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #146</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-146/</link><pubDate>Mon, 11 Mar 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-146/</guid><description>&lt;p>Happy ‘productivity destructive week’ — otherwise known as March break.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.mogotest.com/2013/03/05/how-to-accept-self-signed-ssl-certificates-in-selenium2/">How to Accept Self-Signed SSL Certificates in Selenium 2&lt;/a> — or you could use ‘real’ certificates that are trusted by the browser by default. If you are using self-signed certificates to ‘save money’ and you spend 3 hours making it work, you are not saving money anymore&lt;/li>
&lt;li>&lt;a href="https://github.com/tcoulter/jockeyjs">JockeyJS&lt;/a> seems like it could be useful&lt;/li>
&lt;li>Dear every-js-widget-library-author, &lt;a href="http://www.nczonline.net/blog/2013/01/29/you-cant-create-a-button/">You can’t create a button&lt;/a>&lt;/li>
&lt;li>If you are using PHP, then &lt;a href="http://grumpy-phpunit.com/">The Grumpy Programmer’s PHPUnit Cookbook&lt;/a> should be added to your reading pile. Thankfully he doesn’t touch on the built-in WebDriver stuff but the ToC still looks relevant to what we do&lt;/li>
&lt;li>&lt;a href="http://blog.newrelic.com/2013/02/07/web-performance-optimization-automation/">WordPress Performance Optimization&lt;/a> is just cool — and could provide tricks for your non-WordPress apps too&lt;/li>
&lt;li>&lt;a href="http://blog.veez.us/single-session-development">Single-Session Development&lt;/a> is something I don’t do — but can appreciate the geek-ness of this&lt;/li>
&lt;li>&lt;a href="http://edmundkirwan.com/general/junit.html">JUnit’s evolving structure&lt;/a> shows what the, erm, evolving structure of JUnit and has the killer line of ‘Programmers should be forced to wear their systems’ package-structures on their tee-shirts.’&lt;/li>
&lt;li>&lt;a href="http://element34.ca/blog/basic-authentication-with-the-browsermob-proxy">Basic Authentication With the BrowserMob Proxy&lt;/a>, wow, that’s an annoying edge-case&lt;/li>
&lt;li>&lt;a href="http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown">Breaking Down Amazon’s Mega Dropdown&lt;/a> – ugh, because mouse events weren’t hard enough without menus tracking and rendering based on its position&lt;/li>
&lt;li>If you are intro RSpec, then &lt;a href="http://rspec-next-steps.herokuapp.com/">RSpec Next Steps&lt;/a> is going to be for you. Even if it does use a horrid html-based deck format (use the left/right arrow keys to navigate)&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #145</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-145/</link><pubDate>Mon, 04 Mar 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-145/</guid><description>&lt;p>&lt;a href="http://www.brothers-brick.com/2013/02/26/alice-finch-builds-massive-lego-hogwarts-from-400000-bricks/">Alice Finch builds massive LEGO Hogwarts from 400,000 bricks&lt;/a> starts out at awesome and goes somewhere further down the scale when you get to the photo that shows scale.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://exploringuncertainty.com/blog/archives/1010">Models of Automation&lt;/a> — really, who reading this hasn’t had the conversation described in there in one of its variants&lt;/li>
&lt;li>&lt;a href="http://ardesco.lazerycode.com/index.php/2013/02/stop-moving-so-i-can-click-you-dammit/">Stop Moving So I Can Click You Dammit!&lt;/a> – illustrates the only acceptable place for Thread.sleep()&lt;/li>
&lt;li>&lt;a href="http://blog.simontimms.com/2013/02/25/using-realistic-data-in-unit-testing/">Using Realistic Data in Unit Testing&lt;/a> and &lt;a href="http://blog.simontimms.com/2013/02/26/angelasmith-creating-test-data/">AngelaSmith: Creating Test Data&lt;/a> is a two-for for the C# crowd — though the ideas resonate with everyone else&lt;/li>
&lt;li>&lt;a href="http://www.testinggeek.com/test-automation-how-to-handle-common-components-with-page-object-model">How to handle common components with Page Object Model?&lt;/a> — I tend to use Inheritance, though am experimenting with Composition. The right solution is likely ‘both’&lt;/li>
&lt;li>&lt;a href="http://nic.ferrier.me.uk/blog/2013_02/dear-nic-says-jim">Dear Nic, Should we log directly?&lt;/a> illustrates the good and bad of unix pipes&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/10057671/how-foreach-actually-works/">How foreach actually works&lt;/a> was found via a snarky tweet, but is great&lt;/li>
&lt;li>&lt;a href="http://feross.org/fill-disk/">Introducing the HTML5 Hard Disk Filler&amp;amp;tm; API&lt;/a> is hilarious. And the next salvo in the WebKit vs mono-culture battle&lt;/li>
&lt;li>&lt;a href="http://www.html5rocks.com/en/tutorials/webcomponents/template/">HTML’s New Template Tag – Standardizing Client-Side Templating&lt;/a> — look! More HTML5 madness! And no automation suggestions / gotchas. But HTML5 Rocks is a great site anyways&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2013/03/02/why-your-web-app-should-be-responsive/">Why your web app should be responsive&lt;/a> — I’m coming to dislike the term ‘responsive’, though agree with the sentiment. Now, how does your WebDriver [or Watir] scripts change in order to handle this?&lt;/li>
&lt;li>&lt;a href="http://mattsears.com/articles/2011/11/16/nyan-cat-rspec-formatter">Nyan Cat RSpec Formatter&lt;/a> is outstandlingly silly. And should be applied to all your RSpec runners. Immediately.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #144</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-144/</link><pubDate>Mon, 25 Feb 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-144/</guid><description>&lt;p>&lt;em>Real&lt;/em> Canadians watch curling instead of hockey.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://jsperf.com/">jsPerf&lt;/a> is a performance oriented sandbox&lt;/li>
&lt;li>&lt;a href="http://gilesbowkett.blogspot.ca/2013/02/the-lie-of-convention-over-configuration.html">The Myth Of Convention Over Configuration&lt;/a> – hint: its &lt;em>curation&lt;/em> over configuration. And since this is how frameworks work…&lt;/li>
&lt;li>&lt;a href="https://github.com/alek-sys/sublimetext_indentxml">sublimetext_indentxml&lt;/a> is a sublime text plugin to indent xml — yes, originality counts with plugin naming&lt;/li>
&lt;li>&lt;a href="https://github.com/blog/1345-introducing-boxen">Introducing Boxen&lt;/a> – Boxen feels a lot like Vagrant, but for Macs? Maybe?&lt;/li>
&lt;li>&lt;a href="http://blog.pamelafox.org/2013/02/checking-for-technical-requirements-in.html">Checking for Technical Requirements in a Sign-up Process&lt;/a> — woah, this would be a pain to automate&lt;/li>
&lt;li>&lt;a href="https://github.com/mwelham/office_docs">office_docs&lt;/a> looks like it might help parse and inspect ms office docs your app generates. Or not. Dunno.&lt;/li>
&lt;li>&lt;a href="http://blog.urth.org/2013/02/12/the-future-of-perl-5/">The Future of Perl (5)&lt;/a> proves that the Se gang isn’t the only one to completely botch naming and versioning. 😀&lt;/li>
&lt;li>&lt;a href="https://github.com/raganwald/homoiconic/blob/master/2013/02/turtles-and-iterators.md">Tortoises, Teleporting Turtles, and Iterators&lt;/a> is pretty geek&lt;/li>
&lt;li>&lt;a href="http://conversionxl.com/dont-use-automatic-image-sliders-or-carousels-ignore-the-fad/">Don’t Use Automatic Image Sliders or Carousels, Ignore the Fad&lt;/a> – and Reason #4 is they are a pain in the ass to automate since the state is always in flux&lt;/li>
&lt;li>&lt;a href="http://www.infoq.com/articles/Continuous-Delivery-Maturity-Model">The Continuous Delivery Maturity Model&lt;/a> has some interesting ideas, but that it is presented as a ‘maturity model’ is fail all the way down.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #143</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-143/</link><pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-143/</guid><description>&lt;p>If you had anything interesting last week I should have seen, you’ll have to resend it to me or @seleniumhq — things were a bit crashy.&lt;/p>
&lt;ul>
&lt;li>So … &lt;a href="http://www.quirksmode.org/blog/archives/2013/02/opera_switching.html">Opera switching to WebKit&lt;/a>. That doesn’t mean you can write off automation with Opera though. &lt;a href="http://blog.methvin.com/2013/02/tragedy-of-webkit-commons.html">Tragedy of the WebKit Commons&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://sauceio.com/index.php/2013/02/introducing-chemistrykit-aka-ruby-saunter/">Introducing ChemistryKit — a Ruby version of Saunter&lt;/a> is another self-serving link.&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2013/02/12/automated-local-accessibility-testing-using-wave-and-webdriver/">Automated local accessibility testing using WAVE and WebDriver&lt;/a> is a post I had been waiting awhile for&lt;/li>
&lt;li>&lt;a href="http://mentalfloss.com/article/26875/how-did-duck-hunt-gun-work">How Did the Duck Hunt Gun Work?&lt;/a> because, you know you wanted to know. Unless you are too young. Kids…&lt;/li>
&lt;li>&lt;a href="http://lucumr.pocoo.org/2013/2/13/moar-classes/">Start Writing More Classes&lt;/a> got lots of twitter love. And an outstanding url.&lt;/li>
&lt;li>I’ve been thinking about documentation recently… &lt;a href="http://hackingdistributed.com/2013/02/11/principled-documentation/">The Principled Documentation Manifesto&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://docs.timdorr.apiary.io/">Tesla Model S REST API&lt;/a> takes Web_Driver_ to a whole new level&lt;/li>
&lt;li>&lt;a href="https://air.mozilla.org/webdriver/">A Browser Automation Standard&lt;/a> is kinda amusing that the location is ‘Mountain View’ but David was broadcasting from ~ 8600 km away&lt;/li>
&lt;li>&lt;a href="http://www.mrc-productivity.com/techblog/?p=714">HTML5 Tutorial: Geolocation&lt;/a> because &lt;em>this&lt;/em> won’t be a pain to deal with…&lt;/li>
&lt;li>I think I like the diagram at &lt;a href="http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment">Continuous Delivery vs Continuous Deployment&lt;/a> but would suggest the top labels should be ‘Auto &lt;em>or&lt;/em> Manual’&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #142</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-142/</link><pubDate>Tue, 05 Feb 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-142/</guid><description>&lt;p>Its a &lt;a href="http://www.youtube.com/watch?v=vHl24Kjp5Vs">Wiggle your brain&lt;/a> kind of morning…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://arrgyle.com/blog/automated-web-testing-is-hard/">Automated Web Testing Is Hard&lt;/a> is the launch announcement of &lt;a href="https://github.com/arrgyle/chemistrykit">ChemistryKit&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2013/02/05/watir-webdriver-with-ghostdriver-on-osx-headless-browser-testing/">Watir-WebDriver with GhostDriver on OSX: headless browser testing&lt;/a> — the WebDriver version of this would be very, very similar to this.&lt;/li>
&lt;li>&lt;a href="http://blog.jquery.com/2013/02/04/jquery-1-9-1-released/">jQuery 1.9.1 Released&lt;/a> isn’t interesting from a new jQuery perspective, but the migrate plugin &lt;em>is&lt;/em>. Likely old news, but was new to me…&lt;/li>
&lt;li>&lt;a href="http://en.wikipedia.org/wiki/GRASP_%28object-oriented_design%29">GRASP (object-oriented design)&lt;/a> ‘is really a mental toolset’&lt;/li>
&lt;li>&lt;a href="http://hexawise.com/?p=172">How Not to Design Pairwise Software Tests&lt;/a> is even more useful when paired (pun intended) with…&lt;/li>
&lt;li>&lt;a href="http://www.telerik.com/automated-testing-tools/blog/13-01-25/using-data-driving-wisely.aspx">Using Data Driving Wisely&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://paulhammant.com/2013/02/04/the-importance-of-the-dom/">The Importance of the DOM&lt;/a> has a lot of stuff that my not-in-gear brain is capable of processing, but…&lt;/li>
&lt;li>&lt;a href="http://programmingisterrible.com/post/42215715657/postels-principle-is-a-bad-idea">Postel’s Principle is a Bad Idea&lt;/a>. Sacrilege! Oh, wait, there is a patch.&lt;/li>
&lt;li>&lt;a href="http://armoredbarista.blogspot.de/2013/01/a-brief-chronology-of-ssltls-attacks.html">A brief chronology of SSL/TLS attacks&lt;/a> can’t be automated, but good automation is to know what needs to be looked at by a human&lt;/li>
&lt;li>&lt;a href="http://michaelfeathers.typepad.com/michael_feathers_blog/2013/01/the-framework-superclass-anti-pattern.html">The Framework Superclass Anti-Pattern&lt;/a> — for the record, &lt;a href="http://element34.ca/products/saunter">my frameworks&lt;/a> ‘require’ you have adapters to prevent lock-in. Oh, and they are Open Source…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #141</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-141/</link><pubDate>Fri, 01 Feb 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-141/</guid><description>&lt;p>Its -12 Celsius plus windchill out. Why the heck is the office air conditioning on. Feel like I need a Mr. Rogers cardigan or something.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://bolinfest.com/javascript/caret-navigation.html">Caret Navigation in Web Applications&lt;/a> starts slow and then hurts your brain while reminding you that this automation thing isn’t easy.&lt;/li>
&lt;li>I don’t know NUnit or TeamCity so don’t know if &lt;a href="http://blog.diniscruz.com/2013/01/using-teamcity-and-nnit-to-start.html">Using TeamCity and NUnit to Start WebServer, Run Selenium Tests and Stop WebServer&lt;/a> is useful or just a rehash of common knowledge. But here you are anyways.&lt;/li>
&lt;li>&lt;a href="https://github.com/brianium/paratest-selenium">paratest-selenium&lt;/a> is another parallel phpunit solution. I &lt;em>really&lt;/em> want an official one.&lt;/li>
&lt;li>&lt;a href="http://nealford.com/memeagora/2013/01/22/why_everyone_eventually_hates_maven.html">Why Everyone (Eventually) Hates (or Leaves) Maven&lt;/a> is not Maven bashing [he says so in the 3rd last paragraph].&lt;/li>
&lt;li>&lt;a href="https://shanetomlinson.com/2013/testing-javascript-frontend-part-1-anti-patterns-and-fixes/">Writing Testable Frontend Javascript Part 1 – Anti-patterns and their fixes&lt;/a> — looking to carve out a niche for the next couple years for yourself? This is it. And Canvas [which is JS…]&lt;/li>
&lt;li>The &lt;a href="http://seleniumcamp.com/2013/01/24/program-2013-is-ready/">SeleniumCamp 2013 program&lt;/a> is out. Of course, its in Russian but…&lt;/li>
&lt;li>&lt;a href="http://www.build-doctor.com/2013/01/21/neo4j-puppet/">Writing a Neo4j Puppet module for fun and profit&lt;/a> is I think how a lot of trial stuff is going to be distributed. And Puppet is fun.&lt;/li>
&lt;li>Have I mentioned that this automation thing is hard? No? How about &lt;a href="http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/">What is the Execution Context &amp;amp; Stack in JavaScript?&lt;/a>. Still think its easy?&lt;/li>
&lt;li>&lt;a href="http://simplythetest.tumblr.com/post/41104418417/automated-testing-from-testing-activity-to">Automated Testing: From “Testing” Activity to “Development” Activity&lt;/a> is the sort of epiphany you will see more and more I think. Unsure whether this is a good, bad or just factual trend.&lt;/li>
&lt;li>About building a framework? Its in! &lt;a href="http://www.maddoxlabs.com/blog/2013/01/25/how-to-make-a-basic-test-framework-in-c/">How to make a basic test framework in C#&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #140</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-140/</link><pubDate>Fri, 25 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-140/</guid><description>&lt;p>Buckets!&lt;/p>
&lt;ul>
&lt;li>
&lt;p>I suspect that &lt;a href="http://code.google.com/p/scanner-backed-by-selenium/">scanner-backed-by-selenium&lt;/a> belongs in the ‘with great power comes great responsibility’ bucket&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://freynaud.github.com/ios-driver/">ios-driver&lt;/a> is in the ‘wouldn’t it be nice if Apple provided this’ bucket&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://dkleppinger.blogspot.ca/2012/09/selenium-webdriver-utility-for.html">Selenium WebDriver utility for determining when page has finished rendering&lt;/a> is in the ‘ADF specific’ bucket’&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I suspect &lt;a href="https://github.com/mguillem/JSErrorCollector">JSErrorCollector&lt;/a> is in the ‘already indirectly linked to’ bucket. If not then its in the ‘FF only’ bucket&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://gabrielprioli.wordpress.com/2012/09/11/using-a-business-readable-language-for-browser-automation/">Using a business readable language for browser automation&lt;/a> is in the ‘bdd/atdd hype’ bucket. But is also in Haskell which is kinda interesting for an Se article&lt;/p></description></item><item><title>A Smattering of Selenium #139</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-139/</link><pubDate>Wed, 23 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-139/</guid><description>&lt;p>Posting from the past into the future. Or something… (its a scheduled post).&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/ericminio/webdriverjs-with-jasmine">webdriverjs-with-jasmine&lt;/a> appears appropriately named since it claims to be &lt;em>A standalone (includes standalone Selenium server (30Mo) + includes Jasmine) working example of a test with WebDriverJS and Jasmine.&lt;/em>&lt;/li>
&lt;li>Similar to the above, but with Drupal and Behat – &lt;a href="https://github.com/sprice/classic">Classic&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://twitter.yfrog.com/h3kgdcp">How I[he] send notifications to the build breakers.&lt;/a> using twillio&lt;/li>
&lt;li>&lt;a href="http://vocamus.net/dave/?p=1569">On Code Review&lt;/a> comes from the Food For Thought department&lt;/li>
&lt;li>&lt;a href="https://github.com/youdevise/orc">Orc&lt;/a> is a &lt;em>model driven orchestration tool for the deployment of application clusters&lt;/em>. Sounds cool.&lt;/li>
&lt;li>&lt;a href="http://searls.testdouble.com/2013/01/18/upgrading-hacked-dependencies/">upgrading hacked dependencies&lt;/a> — doncha hate when you do this?&lt;/li>
&lt;li>&lt;a href="http://wave.webaim.org/">WAVE&lt;/a> will tell you have well you do against their accessibility heuristics. Its no guarantee of course, but its a start.&lt;/li>
&lt;li>And why is it no guarantee? See &lt;a href="http://blog.silktide.com/2013/01/things-learned-pretending-to-be-blind-for-a-week/">Things I learned by pretending to be blind for a week&lt;/a>.&lt;/li>
&lt;li>Dear SpeakerDeck; your embed method doesn’t work with WordPress. So here is a link to &lt;a href="https://speakerdeck.com/dmosher/so-you-want-to-be-a-front-end-engineer">So, You Want to Be a Front-End Engineer?&lt;/a>&lt;/li>
&lt;li>I was bored and experimenting with Py.Test fixtures &lt;a href="https://gist.github.com/3921739">here&lt;/a> — and then got schooled in the comment section on how to actually do it.
&lt;script src="https://gist.github.com/adamgoucher/3921739.js">&lt;/script>
&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #138</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-138/</link><pubDate>Mon, 21 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-138/</guid><description>&lt;p>&lt;code>&amp;lt;insert snark here&amp;gt;&lt;/code>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://angryweasel.com/blog/?p=565">Debugging For Testers&lt;/a> — they don’t teach this in testing school. Actually, there is a testing school…&lt;/li>
&lt;li>A million times this!! &lt;a href="http://chrismdp.com/2013/01/bdd-is-not-cucumber/">That’s not BDD, that’s just Cucumber&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.igvita.com/2013/01/15/faster-websites-crash-course-on-web-performance/">Faster Websites: Crash Course on Web Performance&lt;/a> — all three hours of video&lt;/li>
&lt;li>&lt;a href="http://9elements.com/io/index.php/continuous-integration-of-ios-projects-using-jenkins-cocoapods-and-kiwi/">Continuous Integration of iOS Projects using Jenkins, CocoaPods, and Kiwi&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.patrickmeenan.com/2012/11/clearing-ies-caches-not-as-simple-as-it.html">Clearing IE’s Caches – Not as simple as it appears&lt;/a> is another one of those things that gives Jim headaches.&lt;/li>
&lt;li>Speaking of things that give Jim headaches; &lt;a href="http://jimevansmusic.blogspot.ca/2013/01/revisiting-native-events-in-ie-driver.html">Revisiting Native Events in the IE Driver&lt;/a>. Fun, fun, fun.&lt;/li>
&lt;li>&lt;a href="http://www.netmeister.org/slides/devopsdays201301/#/42">We’re Doing It Wrong! What DevOps Needs to Learn in Order to Scale Up.&lt;/a> is pretty good, but wow I dislike this slide system.&lt;/li>
&lt;li>&lt;a href="http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html">why GNU grep is fast&lt;/a> – &lt;em>The key to making programs fast is to make them do practically nothing&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://github.com/SquareSquash/web">Squash&lt;/a> feels kinda like a wrapper about ‘git blame’ coupled with a log monitor, but still an interesting concept.&lt;/li>
&lt;li>&lt;a href="http://www.ivanfranjic.net/2013/1/writing-faster-webdriver-tests">Writing faster WebDriver tests&lt;/a> isn’t necessary making scripts faster as it is about a clever abuse of the JS Executor&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #137</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-137/</link><pubDate>Wed, 16 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-137/</guid><description>&lt;p>Whoops, missed a couple days… ah well.&lt;/p>
&lt;ul>
&lt;li>MOAR ELEMENTS!!! &lt;a href="http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element">the &lt;main> element&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://chrismdp.com/2013/01/dependency-injection-not-ioc/">Dependency injection != Inversion of Control&lt;/a> is useful reading. And the Waffle example is pretty funny.&lt;/li>
&lt;li>Not sure yet how I feel about this feature in the page-object gem.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/83nnnts8po8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="http://deors.wordpress.com/2013/01/11/webdriver-wait/">Waiting for an application to be fully loaded&lt;/a> has some more examples of using a ‘proper’ [&lt;em>not&lt;/em> implicit] waiting strategy.&lt;/li>
&lt;li>Most of us are not using Se for HVAT, but knowing the terminology, etc. can’t hurt – &lt;a href="http://kaner.com/?p=278">An Overview of High Volume Automated Testing&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code">The Exceptional Beauty of Doom 3’s Source Code&lt;/a> – An ode to code indeed.&lt;/li>
&lt;li>&lt;a href="http://vocamus.net/dave/?p=1562">Visual Studio considered Harmful&lt;/a>. Or any other tool in your toolchain. You should be able to swap any bit up for one of similar functionality. The number of Eclipse programmers absolutely dwarfs the number of Java programmers.&lt;/li>
&lt;li>&lt;a href="http://blog.mogotest.com/2013/01/16/centralized-selenium-logging-with-graylog/">Centralized Selenium Logging with Graylog&lt;/a> — alright, this is pretty trick.&lt;/li>
&lt;li>&lt;a href="https://github.com/cyrus-and/chrome-har-capturer">chrome-har-capturer&lt;/a> uses Chrome’s remote debugging port to build a HAR file. Even works for SPDY traffic I believe.&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/1589114/opening-a-new-terminal-tab-in-osxsnow-leopard-with-the-opening-terminal-window">Opening a new terminal tab in OSX(Snow Leopard) with the opening terminal windows directory path&lt;/a> – woah! AppleScript!&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #136</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-136/</link><pubDate>Mon, 07 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-136/</guid><description>&lt;p>Someone go back to my past self and punch him for thinking that starting to get in shape was a good idea. OMGCANTMOVE.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.infoq.com/news/2013/01/Immutable-BCL">.NET Goes Immutable&lt;/a> seems interesting. But I don’t really speak C# so it could very well be boring and uninteresting.&lt;/li>
&lt;li>&lt;a href="http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/">Shadow DOM 101&lt;/a> is another part of HTML5 that makes me think this web automation stuff has a very limited life span. Between this and Canvas… ugh.&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/12/19/using-webdriver-to-automatically-check-for-javascript-errors-on-every-page/">Using WebDriver to automatically check for JavaScript errors on every page&lt;/a> is something I have been considering adding to my frameworks…&lt;/li>
&lt;li>Have I mentioned how much Canvas worries me? &lt;a href="https://gist.github.com/4338551">Snow in canvas land&lt;/a> is an interesting post on debugging/improving performance on an little canvas app&lt;/li>
&lt;li>And in a similar vein, &lt;a href="http://paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/">Why moving elements with translate() is better than pos:abs top/left&lt;/a>&lt;/li>
&lt;li>I want to say that I’ve already linked to this, but I need it for a potential project so I’m linking it again – &lt;a href="http://www.huyng.com/posts/modifying-python-simplehttpserver/">Modifying Python’s SimpleHTTPServer to accept directory aliases&lt;/a>&lt;/li>
&lt;li>As a framework vendor I’m a bit worried about linking to &lt;a href="http://blog.8thlight.com/myles-megyesi/2012/09/12/why-frameworks.html">Why Frameworks?&lt;/a>, but there you have it.&lt;/li>
&lt;li>It both worries me, and impresses me, when people start needing to do &lt;a href="http://www.engineyard.com/blog/2012/linux-scalability/">Linux TCP/IP Tuning for Scalability&lt;/a>&lt;/li>
&lt;li>Living in the cloud? Go read &lt;a href="http://highscalability.com/blog/2012/10/2/an-epic-tripadvisor-update-why-not-run-on-the-cloud-the-gran.html">An Epic TripAdvisor Update: Why Not Run On The Cloud? The Grand Experiment&lt;/a>. Now. The last link can wait.&lt;/li>
&lt;li>&lt;a href="http://www.telerik.com/automated-testing-tools/blog/12-11-12/understanding-head-http-204-and-http-206.aspx">Understanding HEAD, HTTP/204 and HTTP/206&lt;/a> — What? You mean that there is more to HTTP than 200 and 404?&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #135</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-135/</link><pubDate>Fri, 04 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-135/</guid><description>&lt;p>Three in a row … of course, these are the easy three.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2013/build-test-and-deploy-firefox-os-apps-for-0.html">Build, test and deploy Firefox OS apps for $0&lt;/a> (or any other currency that I don’t know how to emit)&lt;/li>
&lt;li>Ruby on Rails … in Bash. Because they can. &lt;a href="https://github.com/jayferd/balls">Bash on Balls&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.alexmaccaw.com/css-transitions">All you need to know about CSS Transitions&lt;/a> except how the hell we are going to synchronize on them. Well, kinda does, but this is going to hurt.&lt;/li>
&lt;li>&lt;a href="http://blog.mogotest.com/2013/01/03/speed-up-web-testing-with-a-caching-proxy/">Speed Up Web Testing with a Caching Proxy&lt;/a> has a speed-up trick I hadn’t thought of yet. And it also further complicates the moving parts in automation.&lt;/li>
&lt;li>&lt;a href="http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts">Rails SQL injection vulnerability: hold your horses, here are the facts&lt;/a> – I think every vulnerability should have a write-up like this.&lt;/li>
&lt;li>I hope I never feel the need to investigate an operator the way &lt;a href="http://gynvael.coldwind.pl/?id=492">PHP equal operator ==&lt;/a> does.&lt;/li>
&lt;li>Now, investigating runners is something I’ve had to do a couple times. Reading MiniTest – &lt;a href="http://miningruby.tumblr.com/post/35491370189/reading-minitest-part-one">part one&lt;/a>, &lt;a href="http://miningruby.tumblr.com/post/35539339898/reading-minitest-part-two">part two&lt;/a>, &lt;a href="http://miningruby.tumblr.com/post/35573292852/reading-minitest-part-three">part three&lt;/a>, &lt;a href="http://miningruby.tumblr.com/post/36161852224/reading-minitest-part-four">part four&lt;/a>, &lt;a href="http://miningruby.tumblr.com/post/36237556619/reading-minitest-part-five">part five&lt;/a>, &lt;a href="http://miningruby.tumblr.com/post/36238889587/reading-minitest-wrap-up">wrap up&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://jorgemanrubia.net/2010/01/16/using-macros-to-create-custom-example-groups-in-rspec/">Using macros to create custom example groups in RSpec&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.marcphilipp.de/blog/2013/01/02/hamcrest-quick-reference/">Hamcrest Quick Reference&lt;/a>. Print it out and pin it to your wall.&lt;/li>
&lt;li>This. Is. Awesome. &lt;a href="https://blog.mozilla.org/it/2013/01/04/mozpool/">Mozpol – Provisioning Pandas&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #134</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-134/</link><pubDate>Thu, 03 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-134/</guid><description>&lt;p>Hrm. Office is closed until Monday, but everyone is in. Very confusing…&lt;/p>
&lt;ul>
&lt;li>One reason I have heard people say they don’t use cloud instances is they are afraid they will just sit around idle when not needed. &lt;a href="http://atlee.ca/blog/2012/12/14/behind-the-clouds/">Behind the clouds: how RelEng do Firefox builds on AWS&lt;/a> has some useful scripts to find and teardown machines.&lt;/li>
&lt;li>&lt;a href="http://blog.chriszacharias.com/page-weight-matters">Page Weight Matters&lt;/a> is a fun little insight into how/why YouTube shed some of its heft. And a reminder that what we need is more stuff coming out of bandwidth starved regions since we have forgotten how to program efficiently in North America / Europe.&lt;/li>
&lt;li>&lt;a href="http://usetrace.com">Usetrace&lt;/a> looks like the newest player in the Selenium-in-the-cloud space. Seems to use the Python bindings as the scripting language and host the scripts too.&lt;/li>
&lt;li>Did you know that you can modify the Se Server’s Grid functionality with plugins? Neither did I — or at least I don’t think I did… Here is a &lt;a href="https://github.com/freynaud/grid-plugin-tutorial">tutorial&lt;/a> and &lt;a href="https://github.com/AutomatedTester/speedy-gonzales-proxy">another example&lt;/a>.&lt;/li>
&lt;li>The interesting part of &lt;a href="http://www.codeofhonor.com/blog/whose-bug-is-this-anyway">Whose bug is this anyway?!?&lt;/a> is ‘Your computer is broken’ bit. Oh, and make sure that build machine is updated to what your developers are running…&lt;/li>
&lt;li>&lt;a href="http://synesthesiam.com/?p=218">Modeling How Programmers Read Code&lt;/a> is just cool.&lt;/li>
&lt;li>Speaking of reading code; &lt;a href="http://spin.atomicobject.com/2012/12/23/code-reading">Code Reading&lt;/a>. I wonder if you gave this to a novice programmer if they would approach the above link differently.&lt;/li>
&lt;li>&lt;a href="http://ariya.ofilabs.com/2012/12/phantomjs-1-8-blue-winter-rose.html">PhantomJS 1.8 “Blue Winter Rose”&lt;/a> got lots of twitter love. As it should have.&lt;/li>
&lt;li>&lt;a href="http://nikic.github.com/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html">Cooperative multitasking using coroutines (in PHP!)&lt;/a> is, I think, pretty awesome just by the my inability to fully grok what is going on. I also have no idea how to use this for automation purposes, but it seems like there should be some usage for it somewhere…&lt;/li>
&lt;li>&lt;a href="http://www.littlehart.net/atthekeyboard/2012/12/17/so-you-want-to-write-tests">So You Want to Write Tests&lt;/a> is more mindset than code … but code has always been the easy part anyways.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #133</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-133/</link><pubDate>Wed, 02 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/a-smattering-of-selenium-133/</guid><description>&lt;p>Since today is the start of ‘find a new contract’ I guess I don’t have an excuse to miss these for the next week or so.&lt;/p>
&lt;p>(Oh, and Happy New Year, etc.)&lt;/p>
&lt;ul>
&lt;li>
&lt;p>This is snark, but just makes me laugh given the hype machine around ATDD/BDD;&lt;/p>
&lt;blockquote>
&lt;p>AS an angry userI WANT TO punch the developer in the faceSO THAT I CAN punch the developer in the face.&lt;/p>
&lt;p>— Kristopher Johnson (@OldManKris) &lt;a href="https://twitter.com/OldManKris/status/275977400309932033">December 4, 2012&lt;/a>&lt;/p></description></item><item><title>A Smattering of Selenium #132</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-132/</link><pubDate>Thu, 06 Dec 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-132/</guid><description>&lt;p>2.27.0 is now out which means you can close the browser tab that points to the old Firefox installers.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://jimevansmusic.blogspot.ca/2012/12/not-providing-html-page-is-bogus.html">Not Providing an HTML Page? Think of the Kittens!&lt;/a> is important to remember. We &lt;em>want&lt;/em> to fix your bugs. Help us help you!&lt;/li>
&lt;li>The &lt;a href="http://javascript-reverse.tumblr.com/post/37056936789/html5-download-attribute">HTML5 download attribute&lt;/a> is another bit I am not looking forward to have to automate&lt;/li>
&lt;li>&lt;a href="http://iosunittesting.com/refactoring-to-improve-testability/">Refactoring to Improve Testability&lt;/a> – what can I say? I like experiential posts&lt;/li>
&lt;li>Oh how it pains me to suggest that &lt;a href="http://code.google.com/p/sikuli-api/wiki/SikuliWebDriver">SikuliWebDriver&lt;/a> looks mighty cool&lt;/li>
&lt;li>&lt;a href="http://my.opera.com/ODIN/blog/page-visibility-api-support-in-opera-12-10">Page Visibility API Support in Opera 12.10&lt;/a>. Again, not something I am looking forward to automating.&lt;/li>
&lt;li>Ah brogrammers. &lt;a href="https://github.com/thedekel/attendance/compare/11e96fa114...d49fd3e927">DO NOT SEND “REGISTSER BITCH” TO GUESTS&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://warunsl.wordpress.com/2012/09/18/ruby-script-to-change-the-desktop-background-periodically-on-mac/">Ruby script to change the desktop background periodically on Mac&lt;/a> is just cool. And you will notice that even though they could have spun up a browser to do this, it wasn’t the right tool for the task. Consider that the next time you want to light up a browser.&lt;/li>
&lt;li>So what that it is over two months old, but &lt;a href="http://sebastian-bergmann.de/archives/923-PHPUnit-3.7.html">PHPUnit 3.7&lt;/a> lists some relevant information about the release&lt;/li>
&lt;li>&lt;a href="https://github.com/nicegraham/SeleniumScreenSnapper">SeleniumScreenSnapper&lt;/a> seems pretty clever. Almost steal worthy in fact&lt;/li>
&lt;li>&lt;a href="http://blog.ulf-wendel.de/2012/php-mysql-why-to-upgrade-extmysql/">Supercharging PHP MySQL applications using the best API&lt;/a> is useful when testing your app in general, but also remember that if you are trusting what the browser is telling you and not verifying it with the database you are asking for a world of hurt&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #131</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-131/</link><pubDate>Thu, 29 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-131/</guid><description>&lt;p>Not sure how widely broadcast this has been (cus, you know, we’re good at communicating and stuff), but if you are using 2.26.0 and Firefox 17 you will get a &lt;a href="http://code.google.com/p/selenium/issues/detail?id=4814">nasty bug&lt;/a>. 2.27.0 is in the works to address this (and a couple other things…) so if you &lt;em>need&lt;/em> FF right now, keep your install at the &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/16.0/">latest 16 release&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>This is pretty decent. Except the usual “Feh! We don’t need humans to test! Automate everything!” bias you see around. Psst kids! Even the poster children for Continuous Deployment actually do Continuous Delivery (humans! shocking!). Oh, and the usual gloss over ‘cluster immune system’ which is the only part of this tend that has an elegant solution.&lt;/p></description></item><item><title>A Smattering of Selenium #130</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-130/</link><pubDate>Tue, 27 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-130/</guid><description>&lt;p>Can’t get enough Se bloggage? Have a look at &lt;a href="http://itkosmopolit.wordpress.com/2012/11/23/overview-of-selenium-blogs/">Overview of Selenium Blogs&lt;/a> — though I must say there has to be something wrong with the Alexa algorithm if I am that far down the list. And behind both David and Alister. 🙂&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/">Must Have Git Aliases: Advanced Examples&lt;/a> reminds me of someone I used to work with who likely couldn’t function on a clean unix system, but with all his aliases was mind blowing to watch&lt;/li>
&lt;li>&lt;a href="http://techblog.safaribooksonline.com/2012/11/23/writing-a-selenium-test-framework-for-a-django-site-part-3/">Writing a Selenium Test Framework for a Django Site (Part 3)&lt;/a> has the usual myths and FUD around XPath and embeds locators in the script method but is the first thing I’ve seen that uses the Color class in Python so I’ll overlook those things. This time.&lt;/li>
&lt;li>&lt;a href="https://makandracards.com/makandra/12661-how-to-solve-selenium-focus-issues">How to solve Selenium focus issues&lt;/a> introduced me to jQuery’s :focus pseudoselector&lt;/li>
&lt;li>I’m sure there is something to be learned from &lt;a href="http://evan.tiggerpalace.com/articles/2012/11/21/use-rails-until-it-hurts/">Use Rails until it hurts&lt;/a>. Especially from the paragraph above the twitter inclusions&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/11/27/checking-an-image-is-actually-visible-using-webdriver/">Checking an image is actually visible using WebDriver&lt;/a> is something I plan on stealing.&lt;/li>
&lt;li>&lt;a href="http://www.kirsle.net/blog/kirsle/android-4-0-in-virtualbox">Android 4.0 in VirtualBox&lt;/a> seems like a cool way to build out an android build farm&lt;/li>
&lt;li>&lt;a href="http://phpmaster.com/autoloading-and-the-psr-0-standard/">Autoloading in PHP and the PSR-0 Standard&lt;/a> has some Symfony specific bits, but is generally useful&lt;/li>
&lt;li>&lt;a href="http://blogs.gnome.org/danni/2012/11/19/extending-selenium-with-jquery/">Extending Selenium with jQuery&lt;/a> is something else I intend to steal&lt;/li>
&lt;li>From the same person is &lt;a href="http://blogs.gnome.org/danni/2012/11/15/combining-py-test-and-selenium-to-test-webapps/">Combining py.test and Selenium to test webapps&lt;/a> which shows off some of what py.test can do with fixtures. Not how I would do it, but cool none the less.&lt;/li>
&lt;li>Let me say this again; the officially blessed solution for getting response codes is to route your calls through a proxy (like the BrowserMob Proxy) and then ask it what they were. But if you are bound and determined to craft ‘solutions’ that only work in a single browser, or a single language, or require changing your application then &lt;a href="http://www.ninthavenue.com.au/how-to-get-the-http-status-code-in-selenium-webdriver">How To Get The HTTP Status Code In Selenium WebDriver&lt;/a> will make good breakfast reading. North American time that is…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #129</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-129/</link><pubDate>Mon, 26 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-129/</guid><description>&lt;p>A hardy welcome back to work to our American friends who spent Thursday being thankful for what they had, then getting into fist fights at stores for things they thought they didn’t need the next day.&lt;/p>
&lt;ul>
&lt;li>You know what would be grand? If various widget makers would provide automation hooks for their stuff so we, as automators, don’t have to write them ourselves. Like for High Charts (&lt;a href="https://github.com/Ardesco/Powder-Monkey/tree/master/src/main/java/com/lazerycode/selenium/graphs">in Java&lt;/a>)&lt;/li>
&lt;li>&lt;a href="http://codeclimber.net.nz/archive/2012/11/19/Why-you-should-never-use-a-boolean-field-use-an.aspx">Why you should never use a boolean field (use an Enum instead)&lt;/a> is food for thought when designing your page objects&lt;/li>
&lt;li>Do you work for Google? No? They why do you think you need to automate GMail?!!? Not a new rant of course, but &lt;a href="http://pypi.python.org/pypi/imapIO/0.9.5">imapIO&lt;/a> looks like it might not suck too too much if you are solving this problem in Python and must get an email out of GMail&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/3361208">windows.h.js&lt;/a>. Yes. .js. And no, I have no idea what you would use it for.&lt;/li>
&lt;li>Someday I will find the time to learn &lt;a href="http://blog.tddium.com/2012/11/20/profiling-ruby/">Profiling Ruby, or, How I Made Rails Start Up Faster&lt;/a> for Python and/or PHP if just so I &lt;em>really&lt;/em> understand what goes on under the hood. (And you should too. Understand that is…)&lt;/li>
&lt;li>Two more OTA API examples; &lt;a href="http://fijiaaron.wordpress.com/2012/11/20/creating-a-bug-in-quality-center-using-the-ota-api/">Creating a Bug in Quality Center using the OTA API&lt;/a>, &lt;a href="http://fijiaaron.wordpress.com/2012/11/20/executing-tests-in-quality-center-using-the-ota-api/">Executing Tests in Quality Center using the OTA API&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://craigkerstiens.com/2012/11/17/how-i-write-sql/">How I Write SQL&lt;/a>. Mmmmm pretty. And the killer part is right at the end; &lt;em>While very long, this should ideally be quite legible&lt;/em> and legibility trumps length every day.&lt;/li>
&lt;li>Before you whinge, understand &lt;em>why&lt;/em> something is. Like say, &lt;a href="http://jimevansmusic.blogspot.ca/2012/11/are-you-kidding-me-ie-driver-another.html">Are you kidding me, IE Driver? Another freaking thing to download?&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://pivotallabs.com/users/patn/blog/articles/717-run-javascript-in-selenium-tests-easily-">Run JavaScript in Selenium tests. Easily&lt;/a>. And by Selenium they mean WebDriver and by WebDriver they mean Webrat.&lt;/li>
&lt;li>&lt;a href="http://www.youtube.com/MobileTestingSummit">Mobile Testing Summit videos are up!&lt;/a> for those of us that couldn’t make it. Or could have made it were it not for speaking commitments bookending it on the other side of the continent.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #128</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-128/</link><pubDate>Mon, 19 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-128/</guid><description>&lt;p>…as I avoid writing code that deals with dynamically constructed tables. Without any sort of unique locator. Of course.&lt;/p>
&lt;ul>
&lt;li>I would contend that the ‘right’ solution to this problem is to use a CI container and have it email you, but if you are using Java and not using CI, then &lt;a href="http://assertselenium.com/2012/11/13/emailable-reports-for-selenium-scripts/">Automatically Email the Reports After Selenium Test Execution&lt;/a> could be valuable.&lt;/li>
&lt;li>I feel like I have already linked to &lt;a href="http://www.jeromemueller.ch/archives/311/webdriver-staleelementreferenceexception">Webdriver StaleElementReferenceException&lt;/a> but the archive search is, erm, not great, so here it is again. Notice the solutions to what are all synchronization problem is &lt;em>not&lt;/em> to turn on implicit waits.&lt;/li>
&lt;li>A lot of the reason for lighting up a browser is to be able to do input with the app; &lt;a href="http://c2.com/ppr/checks.html">The CHECKS Pattern Language of Information Integrity&lt;/a> is useful reading in this regard&lt;/li>
&lt;li>While I wait for MS to send me a free Surface to play with (*hint*), &lt;a href="http://msdn.microsoft.com/en-us/library/ee804820%28v=Surface.10%29.aspx">Testing Applications by Using the Surface Simulator Automation API&lt;/a> seems like they have at least given the problem some thought. Of course, it starts with a hand-holding of how to use an IDE. How very Android of them.&lt;/li>
&lt;li>&lt;a href="http://blog.thepete.net/blog/2011/05/01/inspect-state-of-our-running-ios-apps/">Inspect the State of Your Running iOS App’s UI With Symbiote&lt;/a> — &lt;em>Essentially Symbiote is Firebug for your native iOS app.&lt;/em>; you gotta love a good elevator pitch&lt;/li>
&lt;li>I don’t the Opera kids get enough credit for what they’re doing (and did first iirc) – &lt;a href="http://dev.opera.com/articles/view/introducing-mobile-browser-automation/">Introducing mobile browser automation&lt;/a>&lt;/li>
&lt;li>If you brain didn’t hurt yet, it will now. &lt;a href="http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge">What’s the difference if “&lt;meta http-equiv="X-UA-Compatible" content="IE=edge">&amp;quot; exists or not?&lt;/a>&lt;/li>
&lt;li>OAuth2 seems to have died a public flaming death, so some smart folks created &lt;a href="https://github.com/hueniverse/oz">oz&lt;/a>. There is some snark I can’t find about not liking a fork so creating a new one and now you have n+1 problems or something… &lt;em>All&lt;/em> auth system suck BTW.&lt;/li>
&lt;li>&lt;a href="https://github.com/Julian/Ivoire">Ivoire&lt;/a> has some RSpec goodies — but in Python&lt;/li>
&lt;li>What? You’re not using data-* attributes yet? Shame on you…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #127</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-127/</link><pubDate>Fri, 16 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-127/</guid><description>&lt;p>Within an hour I had some more things to add to the last Smattering. Oh well, I’ll just save them up…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://roydekleijn.github.com/har-assert/">Har-assert&lt;/a> looks like something useful to include in your project if you are using Java. And the browsermob-proxy (which of course, you all are)&lt;/li>
&lt;li>&lt;a href="http://www.w3.org/TR/WCAG20/">Web Content Accessibility Guidelines (WCAG) 2.0&lt;/a> seems like something more people should care about.&lt;/li>
&lt;li>Right. Here is another cool part of the nebulous, meaningless thing called HTML5. &lt;a href="http://www.html5rocks.com/en/tutorials/pagevisibility/intro/">Using the PageVisibility API&lt;/a>. Anyone want to take bets on how long this gets used for evil rather than awesome?&lt;/li>
&lt;li>&lt;a href="https://github.com/KentBeck/junit/blob/master/doc/ReleaseNotes4.11.md">JUnit 4.11&lt;/a> is out. The link is to the release notes. The ‘test execution order’ stuff seems like bowing to pressure rather than good test design…&lt;/li>
&lt;li>&lt;a href="http://blog.dynatrace.com/2012/11/14/why-averages-suck-and-percentiles-are-great/">Why Averages Suck and Percentiles are Great&lt;/a> is your monthly statistics lesson.&lt;/li>
&lt;li>Alright, here is the challenge for everyone who wants to get involved in the project but is afraid they cannot code well enough. (If I can code well enough, so can you…) The docs can always use more people! And then we should get !se to work on via &lt;a href="http://duckduckhack.com">DuckDuckHack&lt;/a>.&lt;/li>
&lt;li>&lt;a href="https://github.com/jarmo/test-page">Test::Page&lt;/a> is another helper for making Page Objects in Ruby&lt;/li>
&lt;li>The first item in &lt;a href="http://www.jpuopolo.com/2012/09/an-impassioned-plea-to-other-start-up-founders-to-use-automated-tests/">An impassioned plea to other Start-up founders to use automated tests&lt;/a> is the only one that really holds any water. The rest, well, is showing the author’s developer bias I think. (The rest of his blog seems pretty good as well.)&lt;/li>
&lt;li>&lt;a href="https://github.com/rainbowdriver">RainbowDriver&lt;/a> looks interesting. Though after the flurry around the Mobile Test Summit there seems to be no more commits…&lt;/li>
&lt;li>&lt;a href="https://blog.mozilla.org/research/2012/11/12/introducing-the-shumway-open-swf-runtime-project/">The Shumway Open SWF Runtime Project&lt;/a> Not sure how I feel about Shumway. On one hand, open is better than closed, but from an automation perspective, SWF is a &lt;em>pain&lt;/em>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #126</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-126/</link><pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-126/</guid><description>&lt;p>I’ve been threatening that I was going to do this for awhile…&lt;/p>
&lt;ul>
&lt;li>What it feels like when you are running a long running batch of scripts…&lt;br>
&lt;img src="https://i1.wp.com/icant.co.uk/talks/h5/pictures/smashingconf/okay.gif" alt="">&lt;/li>
&lt;li>Remember kids, your script cannot adapt to the unexpected…&lt;br>
&lt;img src="https://i0.wp.com/i.imgur.com/XNzcD.gif" alt="">&lt;/li>
&lt;li>But on occasion they can do something that…&lt;br>
&lt;img src="https://raw.github.com/videlalvaro/gifsockets/master/doc/mybrain.gif" alt="">&lt;/li>
&lt;li>Oh! Here’s a useful metric of productivity!&lt;br>
&lt;img src="https://pbs.twimg.com/media/A6nlCinCUAEKWNe.jpg" alt="">&lt;/li>
&lt;li>And just when you thought you were doing something without anyone paying attention…&lt;br>
&lt;img src="https://i2.wp.com/i.imgur.com/oODgL.gif" alt="">&lt;/li>
&lt;li>Unfortunately what a lot of automation is like…&lt;br>
&lt;img src="https://i2.wp.com/i.imgur.com/xsOvQ.gif" alt="">&lt;/li>
&lt;li>Or how about when you are writing code against the wrong environment…&lt;br>
&lt;img src="https://i2.wp.com/i.imgur.com/UXcNJ.gif" alt="">&lt;/li>
&lt;li>How writing tests for a testing framework feels…&lt;br>
&lt;img src="https://i0.wp.com/farm6.static.flickr.com/5241/5355178819_ea6464ff03_z.jpg?resize=480%2C640" alt="">&lt;/li>
&lt;li>&lt;a href="http://imgur.com/a/WpRg2">has too many to link to individually&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #125</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-125/</link><pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-125/</guid><description>&lt;p>Right…&lt;/p>
&lt;ul>
&lt;li>Scripting batch 1: waiting for an email&lt;/li>
&lt;li>Scripting batch 2: waiting for an email&lt;/li>
&lt;li>Scripting batch 3: waiting for an email&lt;/li>
&lt;li>Scripting batch 4: waiting for an email&lt;/li>
&lt;/ul>
&lt;p>Perhaps I’ll do something else right now…&lt;/p>
&lt;ul>
&lt;li>Alright kids, its not the Olympics, but &lt;a href="http://www.flaminglunchbox.net/curvy">Curvy&lt;/a> would be a fun app for someone to automate.&lt;/li>
&lt;li>Wow that was fast. &lt;a href="http://vimeo.com/user4280938">Øredev&lt;/a> has started to publish the videos from this year’s conference. Lots of good things in there.&lt;/li>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2012/the-right-tool-for-the-job.html">The right tool for the job!&lt;/a> is one of my favourite rants. And one that catches people off guard when I mention it — ‘but you are a selenium consultant’…&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/10/16/mobile-apps-still-need-automated-tests/">Mobile apps still need automated tests&lt;/a>. Yup. Of course, its not like the OS vendors are helping their developers to do this. Actively hindering them is more like it…&lt;/li>
&lt;li>&lt;a href="http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engineer/">On Being A Senior Engineer&lt;/a>. Somewhere, a newly minted ‘Senior QA Developer’ fresh out of school is having a bit of a cry…&lt;/li>
&lt;li>Right. So how would &lt;a href="https://en.wikipedia.org/wiki/Composition_over_inheritance">Composition over inheritance&lt;/a> affect the Page Object pattern. Or perhaps not affect, but what would that look like?&lt;/li>
&lt;li>Hrm. &lt;a href="http://eclim.org">Eclim&lt;/a> might be how to make Eclipse not suck.&lt;/li>
&lt;li>And while I am taking cheap shots at Eclipse … &lt;a href="http://www.recursivity.com/blog/2012/10/28/ides-are-a-language-smell/">IDEs Are a Language Smell&lt;/a>. Or put another way, Dear Android…&lt;/li>
&lt;li>Someone (or someones) should do a time analysis of writing out scripts something like &lt;a href="http://www.developsense.com/blog/2012/10/where-does-all-that-time-go/">Where Does All That Time Go?&lt;/a>. I suspect though that a lot of automation would be cancelled as a result though.&lt;/li>
&lt;li>&lt;a href="https://wonderproxy.com">WonderProxy&lt;/a> seems like it might be a useful tool. Especially if you are doing behaviour based upon where you are. Though wow it is annoying to be somewhere you don’t speak the language and have your language cookie ignored. *cough* google *cough*&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #124</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-124/</link><pubDate>Tue, 06 Nov 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-124/</guid><description>&lt;p>Too. Many. Links. Not. Enough. Posts.&lt;/p>
&lt;ul>
&lt;li>The important word is &lt;em>strive&lt;/em> in &lt;a href="http://www.testingmentor.com/imtesty/2012/10/08/100-automation-pass-rates/">100% Automation Pass Rates&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://phperror.net">PHP Error&lt;/a> could be interesting to turn on in your automation environment. Well, if it is a PHP app at any rate…&lt;/li>
&lt;li>Testing mobile? &lt;a href="https://leanpub.com/testmobileapps">Tap Into Mobile Application Testing&lt;/a> by Jonathan Kohl&lt;/li>
&lt;li>Behavioural testing in .Net with SpecFlow and Selenium – &lt;a href="http://jamesheppinstall.wordpress.com/2012/09/24/behavioural-testing-in-net-with-specflow-and-selenium-part-1">Part 1&lt;/a>, &lt;a href="http://jamesheppinstall.wordpress.com/2012/10/28/behavioural-testing-in-net-with-specflow-and-selenium-part-2/">Part 2&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/cocoa-rest-client/">cocoa-rest-client&lt;/a> could be a useful tool for the toolbox if you are on mac and are testing rest apps. (And once you get it working here, you can automate it using &lt;a href="http://docs.python-requests.org/en/latest/">Requests&lt;/a> or similar)&lt;/li>
&lt;li>&lt;a href="https://github.com/moredip/Sim-Launcher">sim_launcher&lt;/a> is &lt;em>tiny little sinatra app to allow launching an iOS app in the simulator via HTTP&lt;/em> and seems like one of those glue bits for large scale automation&lt;/li>
&lt;li>Sick of your current random string solution? &lt;a href="http://kiwipsum.com">kiwipsum&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://selenium34.wordpress.com/2012/10/18/changing-browsers-without-changing-code/">Changing Browsers without changing Code&lt;/a> is a neat (?! — it is java…) solution to flipping browsers via command-line arguments.&lt;/li>
&lt;li>Repeat after me, erm, Jez; &lt;a href="http://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/">There’s No Such Thing as a “Devops Team”&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://dougscripts.com/itunes/scripts/scripts01.php">Doug’s AppleScripts for iTunes&lt;/a> feels like a peek into what can be done on the mac.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #123</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-123/</link><pubDate>Wed, 17 Oct 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-123/</guid><description>&lt;ul>
&lt;li>If you are not using something like Chef or Puppet to keep your grid nodes behaving then you are absolutely doing it wrong. Here are all the &lt;a href="http://puppetlabs.com/community/videos/puppetconf/">PuppetConf 2012 Videos&lt;/a> to help you get started. See also &lt;a href="http://memegenerator.net/instance/27887540">this&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://appleinsider.com/articles/12/09/25/apples_lightning_port_dynamically_assigns_pins_to_allow_for_reversible_use">Apple’s Lightning port dynamically assigns pins to allow for reversible use&lt;/a> is just too geeky not to include. Hurray for hardware lock-in?&lt;/li>
&lt;li>&lt;a href="http://lucumr.pocoo.org/2012/9/24/websockets-101/">Websockets 101&lt;/a> — again, if your app uses a technology, you better be damned clueful about it if you are going to automate it&lt;/li>
&lt;li>&lt;a href="http://selenium34.wordpress.com/2012/09/21/child-elements/">Child Elements&lt;/a> seems to address the ‘is my element where I expect it’ problem though I’m still not convinced that is a problem that needed solving&lt;/li>
&lt;li>&lt;a href="http://css-tricks.com/html-for-icon-font-usage/">HTML for Icon Font Usage&lt;/a> could be interesting. Though introduces me to the notion of ‘pseudo elements’, which in addition to ‘shadow dom’ makes me think we may have finally group-think-ed the HTML specs enough.&lt;/li>
&lt;li>&lt;a href="http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/">Increase Virtual Box VDI disk size on MAC or Windows&lt;/a> — amazing how much faster a vm runs when you give it enough disk to breathe&lt;/li>
&lt;li>Using ShiningPanda and Django? &lt;a href="http://www.shiningpanda.com/blog/2012/09/27/multi-browser-selenium-tests-django-14-jenkins/">Multi-browser Selenium tests with Django 1.4+ on Jenkins&lt;/a> is for you!&lt;/li>
&lt;li>I use TextMate, but &lt;a href="http://stackoverflow.com/questions/11365948/how-to-save-restore-sublime-text-2-configs-plugins-to-migrate-to-another-compute">How to save/restore Sublime Text 2 configs/plugins to migrate to another computer?&lt;/a> could be useful for the even cooler segment of people&lt;/li>
&lt;li>Font geek enough that you want, no, demand! a specific font for writing code in? Adobe is here to help; &lt;a href="http://blogs.adobe.com/typblography/2012/09/source-code-pro.html">Announcing Source Code Pro&lt;/a>&lt;/li>
&lt;li>I’m kinda amazed that more people don’t do this; &lt;a href="http://blog.avisi.nl/2012/09/25/calculating-the-code-coverage-of-integration-tests/">Calculating the code coverage of integration tests&lt;/a>. Afterall, imaginary numbers FTW!&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #122</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-122/</link><pubDate>Mon, 15 Oct 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-122/</guid><description>&lt;p>Let’s try the ‘all video’ edition this time.&lt;/p>
&lt;ul>
&lt;li>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ur1d7fYFAYM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/9_39Vbjx23Y?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="http://tv.telerik.com/watch/automated-testing-tools/solvingcommonproblemswebinar">Solving Common Problems with Web UI Automation&lt;/a>&lt;/li>
&lt;li>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/gwP7zLDDdPA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ulNSlES1Fds?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;/ul>
&lt;p>Hrm. That didn’t work … let’s add some slide decks.&lt;/p></description></item><item><title>A Smattering of Selenium #121</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-121/</link><pubDate>Tue, 02 Oct 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-121/</guid><description>&lt;p>Its the ‘all github’ edition today!&lt;/p>
&lt;ul>
&lt;li>Dave goes a little strange on us with his &lt;a href="https://github.com/tourdedave/diy_framework">diy_framework&lt;/a> as an &lt;em>emoting robot&lt;/em>. Here is &lt;a href="http://www.slideshare.net/tourdedave/selenium-basics/2">the deck&lt;/a> that went along with it.&lt;/li>
&lt;li>Can’t get enough of the food-based frameworks from the kids at Sauce. If you are using the PHPUnit included WebDriver bindings [and Sauce OnDemand] then &lt;a href="https://github.com/jlipps/sausage">Sausage&lt;/a> could be of interest.&lt;/li>
&lt;li>Of course, if you are just using PHPUnit, then &lt;a href="https://github.com/jlipps/paraunit">paraunit&lt;/a> could of interest. I’ve written similar before, but this looks cross-platform.&lt;/li>
&lt;li>&lt;a href="https://github.com/plone/buster-selenium">buster-selenium&lt;/a> is, erm, well, Selenium for buster.js&lt;/li>
&lt;li>Why did I only learn about &lt;a href="https://github.com/xdissent/ievms">ievms&lt;/a> now? Oh. Well, one of the requirements is patience. That explains it.&lt;/li>
&lt;li>&lt;a href="https://github.com/videlalvaro/gifsockets">gifsockets&lt;/a>; I’ll wait while you pick up the pieces of your exploded brain&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/3725732">How to capture a FF profile log&lt;/a>. Dunno what gets put in it, but tuck this away in your back pocket&lt;/li>
&lt;li>I don’t have a use case for &lt;a href="https://github.com/benoitc/flower">flower&lt;/a> but &lt;em>collection of modules to build distributed and reliable concurrent systems in Python&lt;/em> seems link-worthy&lt;/li>
&lt;li>Again, not sure when you would use it, but &lt;a href="https://github.com/asconix/webdriver-user-agent-randomizer">webdriver-user-agent-randomizer&lt;/a> seems darn cool&lt;/li>
&lt;li>You don’t see too many open-source ios apps, so here is &lt;a href="https://github.com/simonmaddox/GoogleTransit-iOS6">GoogleTransit-iOS6&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #120</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-120/</link><pubDate>Tue, 18 Sep 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-120/</guid><description>&lt;ul>
&lt;li>&lt;a href="http://www.telerik.com/automated-testing-tools/blog/christophereyhorn/12-09-10/here-we-grow-again-telerik-acquires-fiddler-what-s-next.aspx">Here we grow again. Telerik acquires Fiddler. What’s next?&lt;/a>. So. When can we look for nice Se integration with Fiddler then?&lt;/li>
&lt;li>&lt;a href="http://blog.dynatrace.com/2012/09/12/third-party-issues-and-the-performance-ripple-effect/">Third-Party Issues and the Performance Ripple Effect&lt;/a> is interesting, and something I’ve harped on consistently.&lt;/li>
&lt;li>&lt;a href="http://pluralsight.com/training/Courses/TableOfContents/selenium">Automated Web Testing with Selenium&lt;/a> is 3.5 hours of videos on Se. That has my usual complaints; shouldn’t have Se-IDE, there is no such thing as ‘basic’ and ‘advanced’, etc. But its there.&lt;/li>
&lt;li>&lt;a href="http://kaner.com/?p=190">The Oracle Problem and the Teaching of Software Testing&lt;/a> is long, but important to understand when doing automation. And its sad how many people &lt;em>don’t&lt;/em> know this but automate anyways.&lt;/li>
&lt;li>Sure. A week after I write a web server for PHP to use in php-webdriver’s test suite I see this; &lt;a href="http://bigweek.co/2012/9/11/php-built-in-web-server">PHP: Built-in web server&lt;/a>. Welcome indeed.&lt;/li>
&lt;li>&lt;a href="http://muledesign.com/2012/09/i-want-to-start-a-company-right-out-of-school/">I want to start a company right out of school!&lt;/a> is for designers, but applies just as much to programming/automation.&lt;/li>
&lt;li>This &lt;a href="http://homepage.univie.ac.at/werner.robitza/markdown/">online markdown editor&lt;/a> is awesome.&lt;/li>
&lt;li>&lt;a href="http://sauceio.com/index.php/2012/09/using-sauce-breakpoints-to-find-and-fix-flakey-tests/">Sauce Breakpoints&lt;/a> seems like an interesting hack&lt;/li>
&lt;li>Since your scripts are &lt;em>just&lt;/em> programs, they can call other programs. With python you can now do that with &lt;a href="http://amoffat.github.com/sh/index.html">sh&lt;/a> instead of subprocess (which always boggles me for some reason)&lt;/li>
&lt;li>&lt;a href="http://gabrielprioli.wordpress.com/2012/09/11/using-a-business-readable-language-for-browser-automation/">Using a business readable language for browser automation&lt;/a> talks about using a cucumber clone with haskell. The mind is blown.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #119</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-119/</link><pubDate>Fri, 14 Sep 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-119/</guid><description>&lt;p>Its that time again, &lt;a href="http://www.automatedtestinginstitute.com/home/index.php?option=com_jforms&amp;amp;view=form&amp;amp;id=22&amp;amp;Itemid=183">4th Annual Automation Honors Voting&lt;/a> is now open. Vanity contests FTW!&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://sauceio.com/index.php/2012/09/introducing-the-sauce-plugin-for-selenium-grid/">Introducing the Sauce Plugin for Selenium Grid&lt;/a> from a product perspective is &lt;em>huge&lt;/em>. And in a roundabout way proves I am not completely crazy…&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://nichol.as/benchmark-of-python-web-servers">Benchmark of Python WSGI Servers&lt;/a> has lots of numbers, and graphs and charts.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://teststack.github.com/TestStack.Seleno/">Seleno&lt;/a> makes some bold marketing statements (‘the RIGHT way!’). Looks like a framework in C# that forces people to use Page Objects&lt;/p></description></item><item><title>A Smattering of Selenium #118</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-118/</link><pubDate>Fri, 07 Sep 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-118/</guid><description>&lt;p>&amp;lt;Insert witty/snarky commentary on something here&amp;gt;&lt;/p>
&lt;ul>
&lt;li>Apparently the TestWatchman thing I linked to is deprecated now in favour of TestWatcher (shows how much I pay attention to JUnit stuff…). &lt;a href="http://blog.zvestov.cz/item/98/catid/16">Here is an example of TestWatchers and RuleChains&lt;/a>. No, I don’t know what the blurb at the top says.&lt;/li>
&lt;li>Sure, we’ve all see lorum ipsum text, but do you know what it (ish) says? &lt;a href="https://simple.wikipedia.org/wiki/Lorem_ipsum">now you do&lt;/a>&lt;/li>
&lt;li>From the ‘MEASURE ALL THINGS!!!’ category is Mozilla’s &lt;a href="https://wiki.mozilla.org/ReleaseEngineering/BuildFaster">BuildFaster&lt;/a>. There was a cool graph of build times I saw somewhere too…&lt;/li>
&lt;li>The kids at Google have released &lt;a href="http://google-opensource.blogspot.co.uk/2012/09/wicked-good-xpath-faster-javascript.html">Wicked Good XPath: a faster JavaScript XPath library&lt;/a>. I suspect Se will be growing this appendage fairly soon-ish. And then we get to re-learn all the gotchas of a new library. 🙂&lt;/li>
&lt;li>Provided without comment&lt;br>
&lt;img src="https://i0.wp.com/i.imgur.com/jxBZG.jpg" alt="">&lt;/li>
&lt;li>Discussions about PageFactories can only be a good thing. &lt;a href="http://selenium34.wordpress.com/2012/09/05/optional-elements/">Optional Elements&lt;/a>. Black Magic + explanations = Magic.&lt;/li>
&lt;li>Dear Google Code team; &lt;a href="https://github.com/blog/1252-how-we-keep-github-fast">How we keep GitHub fast&lt;/a>.&lt;/li>
&lt;li>There seems to be lots of good stuff on &lt;a href="http://darrellgrainger.blogspot.ca">Darrell Grainger’s blog&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://mjp.github.com/2012/08/29/github-python-analysis.html">An Analysis of the Top Python Repositories Hosted on Github&lt;/a> is interesting. I have no idea how to apply this to Se, but still…&lt;/li>
&lt;li>Read &lt;a href="https://www.facebook.com/notes/kent-beck/naming-from-the-outside-in/464270190272517">Naming From the Outside In&lt;/a> before writing another line of code in a page object&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #117</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-117/</link><pubDate>Wed, 05 Sep 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-117/</guid><description>&lt;ul>
&lt;li>&lt;a href="http://lostechies.com/jimmybogard/2012/08/30/evolutionary-project-structure/">Evolutionary Project Structure&lt;/a> talks about a particular project structure, but this is one of those fun developer opinionated things to geek out on&lt;/li>
&lt;li>&lt;a href="http://experttesters.com/2012/08/13/testers-caught-sleeping-on-the-job">Testers Caught Sleeping on the Job&lt;/a> is not browser-based, but you cannot bash sleeps enough. Also has a pretty amusing photo with it&lt;/li>
&lt;li>&lt;a href="http://www.phptherightway.com/">PHP: The Right Way&lt;/a> is of course one person’s understanding of the ‘right way’ but still not bad.&lt;/li>
&lt;li>Automation is Code. But are &lt;a href="http://www.carlopescio.com/2011/04/your-coding-conventions-are-hurting-you.html">your code conventions hurting you&lt;/a>?&lt;/li>
&lt;li>Hate Eclipse for writing your scripts in? &lt;a href="http://www.jetbrains.com/specials/index.jsp">JetBrains has specials&lt;/a>. I’ve only seen PyCharm, but it looked pretty nice.&lt;/li>
&lt;li>Has anyone tried manipulating tabs with WebDriver the way that is described in &lt;a href="http://www.telerik.com/automated-testing-tools/blog/12-09-04/closing-tabs-in-chrome.aspx">Closing Tabs in Chrome&lt;/a>&lt;/li>
&lt;li>I haven’t watched it, but Moodle is now doing a series of videos on how they do automation.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/J4jWCWpn-Qw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>Want to hear Simon rant about how to &lt;a href="https://www4.gotomeeting.com/register/519621639">Stop the rot: Banishing Flakiness from Selenium Tests with Simon Stewart&lt;/a>? What are you waiting for then? Register already. Sheesh.&lt;/li>
&lt;li>The W3C has github-ified the &lt;a href="https://github.com/w3c/html">html spec&lt;/a>&lt;/li>
&lt;li>Looks like the &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/Selenium&amp;#43;Plugin">Se Plugin for Jenkins&lt;/a> has been re-written. Might be worth a look again.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #116</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-116/</link><pubDate>Tue, 04 Sep 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-116/</guid><description>&lt;p>So do people celebrate the day after Labor day as the beginning of summer?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.igvita.com/2012/08/28/web-performance-power-tool-http-archive-har/">Web Performance Power Tool: HTTP Archive (HAR)&lt;/a> is worrisome that HARs are being billed as a power tool, but full of good stuff&lt;/li>
&lt;li>&lt;a href="http://blog.cloudfour.com/how-do-you-pick-responsive-images-breakpoints/">How do you pick responsive images breakpoints?&lt;/a> is another one of those problems I think we’re going to have to worry about&lt;/li>
&lt;li>&lt;a href="http://kentbeck.github.com/junit/javadoc/latest/org/junit/rules/TestWatchman.html">TestWatchman&lt;/a> seems like an interesting bit of JUnit4. (At what point do we have to stop saying 3 or 4 when referring to JUnit?)&lt;/li>
&lt;li>I’ve been headhunted by Google for years now, &lt;a href="http://mike-bland.com/2012/07/10/test-mercenaries.html">Test Mercenaries&lt;/a> is the one team that would have made me leap.&lt;/li>
&lt;li>Looking for the patches for last week’s Sauce announcement? They’re &lt;a href="https://github.com/saucelabs/mac-osx-on-kvm">here&lt;/a>. Holy magic numbers, Batman.&lt;/li>
&lt;li>I finally annotated &lt;a href="http://element34.ca/php-webdriver/a-php-page-object-example">A PHP Page Object Example&lt;/a>&lt;/li>
&lt;li>I think you should let your database get dirty, but &lt;a href="http://devblog.avdi.org/2012/08/31/configuring-database_cleaner-with-rails-rspec-capybara-and-selenium/">Configuring database_cleaner with Rails, RSpec, Capybara, and Selenium&lt;/a> does seem like a useful gem&lt;/li>
&lt;li>&lt;a href="http://case.kapsi.fi/blog/?p=185">Robot Framework – Windows Installation The Easy Way&lt;/a> is the easy way to install RF on Windows. Shocking, I know.&lt;/li>
&lt;li>&lt;a href="http://www.singlefounder.com/2012/08/28/amateurs-study-tactics-professionals-study-logistics/">Amateurs Study Tactics. Professionals Study Logistics&lt;/a> seems to resonate with me in how a lot of people approach automation.&lt;/li>
&lt;li>&lt;a href="http://www.hskupin.info/2012/08/29/weekly-ask-an-expert-qa-sessions-for-test-automation/">Weekly “Ask an Expert” Q&amp;amp;A sessions for Test Automation&lt;/a> with the Mozilla ‘A-Team’&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #115</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-115/</link><pubDate>Wed, 29 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-115/</guid><description>&lt;ul>
&lt;li>
&lt;p>The big news in the twitter-verse yesterday was the announcement of &lt;a href="http://sauceio.com/index.php/2012/08/apple-sauce-android-sauce/">Apple Sauce and Android Sauce&lt;/a> from Sauce Labs. I of course jumped all over that bandwagon with &lt;a href="http://element34.ca/blog/apple-sauce-and-android-sauce-yummy-and-fully-supported">Apple Sauce and Android Sauce .. Yummy! (And Fully Supported)&lt;/a>
&lt;a href="http://element34.ca/blog/apple-sauce-and-android-sauce-yummy-and-fully-supported">&lt;/a>* &lt;a href="http://element34.ca/blog/apple-sauce-and-android-sauce-yummy-and-fully-supported">&lt;/a>&lt;a href="http://opensourcehacker.com/2012/08/22/accessing-priviledged-javascript-apis-from-your-web-page-in-firefox-with-selenium">Accessing priviledged Javascript APIs from your web page in Firefox with Selenium&lt;/a> lets to pull even more strings of the browser than you were supposed to be able to. Something I suspect Marionette will make redundant, but until then…&lt;/p></description></item><item><title>A Smattering of Selenium #114</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-114/</link><pubDate>Mon, 27 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-114/</guid><description>&lt;p>Hurray for having fillings done on both sides of my face. Don’t expect me to speak without drolling for rest of the day.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>I’ll admit to not knowing what the difference is/was between FluentWait and WebDriverWait, but &lt;a href="http://seleniumsimplified.com/?p=340">FluentWait with WebElement&lt;/a> explains it well. With sample code!&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://www.digbymarksit.com/2012/08/18/phpunit-selenium-php-webdriver-hours-of-entertainment-part-1/">PHPUnit + Selenium + php-webdriver = hours of entertainment (Part 1)&lt;/a> shows a nice extension to PHPUnit_Framework_TestCase. Now if only he was using my &lt;a href="https://github.com/Element-34/php-webdriver">active fork&lt;/a> of the php-webdriver bindings rather than the original project Facebook seems to have abandoned.&lt;/p></description></item><item><title>A Smattering of Selenium #113</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-113/</link><pubDate>Wed, 22 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-113/</guid><description>&lt;p>&lt;code>/me is not looking forward to when the jet lag whallops him&lt;/code>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://sites.google.com/a/van-steenbeek.net/archive/php_pcntl_fork?q=php_pcntl_fork">Thorough look at PHP’s pcntl_fork()&lt;/a> is how we have to do parallel tests with phpunit until it grows it proper&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/catch-javascript-errors-on-the-page-with-watir-or-selenium/">Catch Javascript Errors on the Page with Watir or Selenium&lt;/a> – This!&lt;/li>
&lt;li>&lt;a href="http://seleniumsimplified.com/?p=339">Categorising WebDriver–Navigation, Interrogation, Manipulation&lt;/a> walks through the WebDriver API bit by bit. Of course, now the trick is to keep it up to date. 🙂&lt;/li>
&lt;li>&lt;a href="https://github.com/montagejs/screening">Screening&lt;/a> uses Se deep in its guts to script up Montage apps&lt;/li>
&lt;li>&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=765645">Millions of web pages use the -moz-opacity:0.7 tag and in javascript. It’s broken now since FF 13.01. Please can you “alias” it back into your main browser code. Thanks.&lt;/a> makes Issue 141 look reasonable. Also raises the question whether we should catch prefixed CSS styles in our static analysis checks&lt;/li>
&lt;li>Cheezy is a gem making machines; &lt;a href="https://github.com/cheezy/ADB">Android Debug Bridge&lt;/a>, &lt;a href="https://github.com/cheezy/data_magic">DataMagic&lt;/a>&lt;/li>
&lt;li>Remember last week’s Olympics doodle automation? Here is how to do &lt;a href="http://www.html5rocks.com/en/tutorials/doodles/gamepad/">Jumping the Hurdles With the Gamepad Api&lt;/a>. Paging Mr. Huggins. Your next robot’s purpose has been discovered&lt;/li>
&lt;li>Using IE? Read &lt;a href="http://jimevansmusic.blogspot.ca/2012/08/youre-doing-it-wrong-protected-mode-and.html">You’re Doing It Wrong: IE Protected Mode and WebDriver&lt;/a>. Not using IE? This is not the post you are looking for.&lt;/li>
&lt;li>&lt;a href="http://gridinit.com">Gridinit&lt;/a> was relaunched recently. Tim has &lt;a href="http://90kts.com">blogged a whole bunch of documentation&lt;/a> about it this week&lt;/li>
&lt;li>&lt;a href="http://angryweasel.com/blog/?p=496">Orchestrating Test Automation&lt;/a> is essentially why I look for testers who can code rather than coders who [think they] can test&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #112</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-112/</link><pubDate>Tue, 21 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-112/</guid><description>&lt;p>Eyes are gross.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.thucydides.info">Thucydides&lt;/a> has a spiffy new website&lt;/li>
&lt;li>&lt;a href="http://marakana.com/s/how_eventbrite_uses_jenkins_and_selenium,1246/index.html">How Eventbrite uses Jenkins and Selenium&lt;/a> which I think I’ve linked to before, but can’t seem to find reference to.&lt;/li>
&lt;li>&lt;a href="http://whatsmyudid.com">What’s my UDID?&lt;/a> is now the new bar for online tutorials&lt;/li>
&lt;li>&lt;strong>&lt;a href="http://www.slideshare.net/jezhumble/creating-maintainable-automated-acceptance-tests" title="Creating Maintainable Automated Acceptance Tests">Creating Maintainable Automated Acceptance Tests&lt;/a>&lt;/strong> from &lt;strong>&lt;a href="http://www.slideshare.net/jezhumble">Jez Humble&lt;/a>&lt;/strong>
&lt;iframe src='https://www.slideshare.net/slideshow/embed_code/13990429' width='427' height='350' scrolling='no' allowfullscreen webkitallowfullscreen mozallowfullscreen>&lt;/iframe>
&lt;/li>
&lt;li>&lt;strong>&lt;a href="http://www.slideshare.net/tourdedave/agile-2012-public-13991698" title="Selenium Users Anonymous">Selenium Users Anonymous&lt;/a>&lt;/strong> from &lt;strong>&lt;a href="http://www.slideshare.net/tourdedave">Dave Haeffner&lt;/a>&lt;/strong>
&lt;iframe src='https://www.slideshare.net/slideshow/embed_code/13991698' width='427' height='350' scrolling='no' allowfullscreen webkitallowfullscreen mozallowfullscreen>&lt;/iframe>
&lt;/li>
&lt;li>&lt;a href="http://www.stickyminds.com/sitewide.asp?ObjectId=17579&amp;amp;Function=DETAILBROWSE&amp;amp;ObjectType=ART&amp;amp;sqry=*Z%28SM%29*J%28ARTCOL%29*R%28createdate%29*K%28articlesandpapers%29*F%28~%29*&amp;amp;sidx=3&amp;amp;sopp=10&amp;amp;sitewide.asp?sid=1&amp;amp;sqry=*Z%28SM%29*J%28ARTCOL%29*R%28createdate%29*K%28articlesandpapers%29*F%28~%29*&amp;amp;sidx=3&amp;amp;sopp=10">Capture/Playback: The Vampire that Will Not Die&lt;/a> has perhaps the most unfriendly url in the history of the internets, but is a nice little rant anyways.&lt;/li>
&lt;li>Thinking about lint-ing your JS whilst you automate? &lt;a href="http://stackoverflow.com/questions/534601/are-there-any-javascript-static-analysis-tools/12005175#12005175">This SO answer&lt;/a> runs down your options.&lt;/li>
&lt;li>The ‘Custom Locators’ series (&lt;a href="http://selenium34.wordpress.com/2012/08/08/custom-locators-part-1/">part 1&lt;/a>, &lt;a href="http://selenium34.wordpress.com/2012/08/14/custom-locators-part-2/">part 2&lt;/a>) talks about developing a custom Page Factory&lt;/li>
&lt;li>Remember kids, the technical term for this is ‘3rd party crap’ and you should turn it off in your automation environments for just this reason. &lt;a href="http://www.forbes.com/sites/ericsavitz/2012/06/01/facebook-outage-slowed-1000s-of-retail-content-sites">Facebook Outage Slowed 1000s Of Retail, Content Sites&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.verelo.com">Verelo&lt;/a> is the latest SeAAS vendor. Their niche seems to be in real-time monitoring.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #111</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-111/</link><pubDate>Mon, 20 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-111/</guid><description>&lt;p>When this gets published, I’ll be sitting around the Barcelona airport waiting for my connection home. Unless I screwed up the time math. 🙂&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://agiletesting.blogspot.co.at/2012/08/the-dangers-of-uniformity.html">The dangers of uniformity&lt;/a> pours cold water on something that I know I used to preach for automation environments.&lt;/li>
&lt;li>&lt;a href="http://www.michaelnielsen.org/ddi/how-to-crawl-a-quarter-billion-webpages-in-40-hours/">How to crawl a quarter billion webpages in 40 hours&lt;/a> doesn’t have code listed (he explains why) but it explains how you could write it yourself if you wanted.&lt;/li>
&lt;li>&lt;a href="http://cultivatecode.blogspot.de/2012/08/no-coffee-today-report-of-munich-0812.html">No coffee today, a report of the Munich 08/12 test automation code retreat&lt;/a> has me thinking that for Se Conf next year, a ‘test automation code retreat’ might be an interesting thing.&lt;/li>
&lt;li>&lt;a href="http://michaelheap.com/behat-selenium2-webdriver/">Behat + Selenium2 / Webdriver&lt;/a> is interesting. And has been updated to have a link to &lt;a href="http://michaelheap.com/behat-selenium2-webdriver-with-minkextension/">Behat + Selenium2 / Webdriver with MinkExtension&lt;/a> which apparently is easier.&lt;/li>
&lt;li>&lt;a href="http://usrsb.in/blog/blog/2012/08/12/bouncing-pythons-generators-with-a-trampoline/">Bouncing Python’s Generators With a Trampoline&lt;/a> lost me at ‘tail call optimization’ but seems cool.&lt;/li>
&lt;li>The AA-FTT annual workshop was last weekend, here is an &lt;a href="http://craigsmith.id.au/2012/08/13/aaftt-workshop-2012-dallas/">excellent write-up&lt;/a> about what happened there.&lt;/li>
&lt;li>&lt;a href="http://markoh.eu/droplets">Droplets of Watir&lt;/a> seems like a great collection of recipes for Watir.&lt;/li>
&lt;li>&lt;a href="http://mestachs.wordpress.com/2012/08/13/selenium-best-practices/">Selenium Best Practices&lt;/a> is a good page, with a &lt;em>horrible&lt;/em> name&lt;/li>
&lt;li>&lt;a href="http://randonom.com/blog/2012/08/workflow-driven-development-asserting-a-workflow-using-an-audit-trail/">Workflow Driven Development: Asserting a Workflow using an Audit Trail&lt;/a> reminds us that individual page states are not the only thing that matters.&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2012/08/mozilla-drops-usage-of-selenium-rc/">Mozilla drops usage of Selenium RC&lt;/a> shows that Mozilla is right on the cutting edge. But also raises the question of when should the rest of us should drop it as well.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #110</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-110/</link><pubDate>Tue, 14 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-110/</guid><description>&lt;p>Dear body; what time zone are you in?&lt;/p>
&lt;p>Ah well, until that battle resolves itself, here are some links.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://sauceio.com/index.php/2012/08/firefox-the-clear-winner-for-automated-testing/">Firefox the Clear Winner for Automated Testing&lt;/a> has a wonderfully SEO friendly title, but really is just some cool usage graphs for their system. Extrapolate beyond that at your own risk.&lt;/li>
&lt;li>&lt;a href="http://simplythetest.tumblr.com/post/29058868277/task-automation-ftw">Task Automation FTW!&lt;/a> — make your application installable! I did something like this a decade ago (also using python) but finding something in my own blog seems a harder challenge than it should be.&lt;/li>
&lt;li>&lt;a href="http://julianhigman.com/blog/2012/08/09/running-saucelabs-selenium-test-suite-locally-with-phpunit">Running SauceLabs Selenium test suite locally with PHPUnit&lt;/a> explains how to solve my number one complains for the various BaaS vendor plugins.&lt;/li>
&lt;li>And TextMate is &lt;a href="https://github.com/textmate/textmate">now Open Source&lt;/a>, ya! Under GPL3. Oh…&lt;/li>
&lt;li>I don’t know what IFTTT is, or how to see the actual script [without joining], but &lt;a href="http://ifttt.com/recipes/48831">Capture all Smatterings of Selenium entries to Evernote&lt;/a> might be of interest to people. If a bit meta to be linking to it.&lt;/li>
&lt;li>So Patrick Lightbody isn’t at Neustar (which bought Browsermob) any more (congrats on the new gig at New Relic btw!) so I was a bit worried about what was going to happen with the BrowserMob Proxy. Seems the GitHub effect has happened once more and there are others also &lt;a href="http://blog.stuartherbert.com/php/2012/08/10/tweaking-browsermob-proxy/">Tweaking BrowserMob-Proxy&lt;/a>.&lt;/li>
&lt;li>As is the case with similar articles to &lt;a href="http://blog.joocode.com/browsers/12-things-about-the-webkit-inspector-i-didnt-know/">Things I didn’t know about the WebKit inspector&lt;/a>, read the comments for more things you likely didn’t know.&lt;/li>
&lt;li>&lt;a href="http://blog.thepete.net/blog/2012/05/09/javascript-feature-flags/">Feature Flags in JavaScript&lt;/a> – do this!&lt;/li>
&lt;li>&lt;a href="http://scottcsims.com/wordpress/?p=382">Managing browsers from the command line on OS X&lt;/a> is a bit of shell trickery I’d ashamed to admit I didn’t know. Well, the &lt;em>open&lt;/em> bit at any rate.&lt;/li>
&lt;li>&lt;a href="http://codeduicodefirst.codeplex.com">Code First API Library, Scaffolding &amp;amp; Guidance for Coded UI Tests&lt;/a> seems very WebDriver-esque in how to do things. Go Team! 😉&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #109</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-109/</link><pubDate>Mon, 13 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-109/</guid><description>&lt;p>Going to be on an airplane for the better part of the next day, so will likely miss some links … unless I am tagged on &lt;a href="http://twitter.com/adamgoucher">twitter&lt;/a> with it.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://ardesco.lazerycode.com/index.php/2012/08/introducing-the-driver-binary-downloader-maven-plugin-for-selenium/">Introducing The Driver Binary Downloader Maven Plugin For Selenium&lt;/a> solves a problem that has been solved a couple times but this seems the slickest. Normally I would suggest just using Chef/Puppet for this but it makes sense in the Maven context. I think.&lt;/li>
&lt;li>Speaking of Maven, &lt;a href="https://github.com/maoo/maven-tiles">Maven Tiles&lt;/a> brings modularity to your modularity&lt;/li>
&lt;li>&lt;a href="http://levi-wilson.blogspot.ca/2012/06/maven-android-travis-ci-and-more.html">Maven, Android, Travis-CI and More Awesome Sauce&lt;/a>&lt;/li>
&lt;li>Google’s Olympics Doodles … with Watir
&lt;ul>
&lt;li>&lt;a href="http://filipin.eu/automating-google-hurdles">Hurdles&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/automating-google-basketball">Basketball&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/automating-google-slalom-canoe">Slalom Canoe&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/automating-google-soccer">Soccer&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>And using Sikuli to automate &lt;a href="http://knorrium.info/2012/08/07/automating-the-hurdles-google-doodle/">Hurdles&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.webapptesting.com/when-to-use-test-automation-and-when-not-to/2012/08/">When to Use Test Automation (and when not to)&lt;/a> is barely just the tip of the iceberg&lt;/li>
&lt;li>&lt;a href="https://www.facebook.com/notes/facebook-engineering/building-and-testing-at-facebook/10151004157328920">Building and testing at Facebook&lt;/a> is meh (and/or scary depending on whether your come from a dev or test background) but ‘gatekeeper’ sounds pretty rad. And is not currently on their github page.&lt;/li>
&lt;li>&lt;a href="http://spin.atomicobject.com/2012/08/09/rspec-thank-you-for-running-my-tests-in-random-order/">RSpec: Thank You for Running My Tests in Random Order&lt;/a> — well, &lt;em>Test interaction sucks&lt;/em> summarizes things pretty well.&lt;/li>
&lt;li>&lt;a href="http://ffeathers.wordpress.com/2012/08/09/documenting-a-mobile-interface-using-chromes-user-agent-setting">Documenting a mobile interface using Chrome’s user agent setting&lt;/a> is a useful trick. Can we change the user-agent through WebDriver?&lt;/li>
&lt;li>&lt;a href="http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_popup_in_selenium2.html">Handle popup windows in Selenium 2&lt;/a> uses a different trick to find windows than I use. And thats a good thing.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #108</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-108/</link><pubDate>Tue, 07 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-108/</guid><description>&lt;p>Apparently the links are slowing down for the summer?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://air.mozilla.org/continuous-delivery-san-francisco/">Ralph Bodenner talks about New Relic’s experiences&lt;/a> at the SF Continuous Delivery meetup&lt;/li>
&lt;li>&lt;a href="http://www.pentestit.com/xelenium-security-testing-selenium/">Xelenium: Security Testing with Selenium!&lt;/a> is kinda an interesting use case&lt;/li>
&lt;li>&lt;a href="http://dev.opera.com/articles/view/introducing-mobile-browser-automation/">Introducing mobile browser automation&lt;/a> from/with Opera&lt;/li>
&lt;li>&lt;a href="http://seleniumsimplified.com/?p=331">A minimal WebDriver based DSL&lt;/a> is a bit of an experiment&lt;/li>
&lt;li>&lt;a href="http://technology.customink.com/blog/2012/08/03/testing-chef-cookbooks/">Testing Chef Cookbooks&lt;/a> is something you didn’t think you needed to think about&lt;/li>
&lt;li>&lt;a href="https://github.com/nasa/">NASA’s github&lt;/a> is not Se focused, but could help you build your own Mars rover&lt;/li>
&lt;li>&lt;a href="http://www.igvita.com/slides/2012/wordpress-performance/">WordPress Performance&lt;/a> is a nice deck with lots of graphs and pictures&lt;/li>
&lt;li>&lt;a href="http://emilybache.blogspot.se/2012/08/principles-of-agile-test-automation.html">Principles of Agile Test Automation&lt;/a> outlines 4 principles and how they can often compete with each other&lt;/li>
&lt;li>&lt;a href="https://github.com/paulbjensen/ss-cucumber">Cucumber.js integration for SocketStream&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.rkblog.rk.edu.pl/w/p/testing-django-applications-selenium/">Testing Django applications with Selenium&lt;/a> isn’t too bad. Of course, its logging in through Facebook which is one of those things you should have your development team provide a bypass for…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #107</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-107/</link><pubDate>Wed, 01 Aug 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-107/</guid><description>&lt;p>Back on the train again. Wow, the highway is screwed today.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://element34.ca/blog/the-automation-litmus-test">The Automation Litmus Test&lt;/a> is one that most companies face, but now it has a name&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Okay, who has more info on the bots mentioned in &lt;a href="http://www.bbc.co.uk/news/magazine-18892510">Meet the ‘bots’ that edit Wikipedia&lt;/a>? Highly doubt that they are Se powered, but it is a fun mental image&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://blog.behance.net/dev/custom-phpunit-annotations">Custom PHPUnit Annotations&lt;/a> is useful magic if you are building out a framework&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I’ve linked to things before about where to put things and how to find them, and &lt;a href="http://searls.testdouble.com/2012/07/27/purpose-oriented-tests/">purpose-oriented tests&lt;/a> continues that trend&lt;/p></description></item><item><title>A Smattering of Selenium #106</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-106/</link><pubDate>Tue, 31 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-106/</guid><description>&lt;p>In case you are curious, the train just went past my old neighbourhood.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2012/marionette-the-future-of-firefoxdriver-in-selenium.html">Marionette – The Future of FirefoxDriver in Selenium&lt;/a> is a project that has been hinted at here before I think, but this is its coming out party. Oh. And its the future of the Firefox driver. Now, what I need is an A-Team t-shirt…&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2012/07/flynnid-0-2/">FlynnID 0.2&lt;/a> changes its config format. I don’t play around with Grid much (at all) but I’ve been told that you need this if you are going to have Android devicii attached to the grid.&lt;/li>
&lt;li>&lt;a href="http://xebee.xebia.in/2012/07/24/geb-groovy-browser-automation-tool-%E2%80%93-part-2/">Geb: Groovy Browser Automation Tool – Part 2&lt;/a> starts out with a Page Object which is becoming the minimum standard for tutorial-esque posts&lt;/li>
&lt;li>&lt;a href="http://element34.ca/blog/proxy-executor">Proxy &amp;amp; Executor&lt;/a> is the meetup talk I did at SFSe, SJSe and YYZSe over the span of 10 days this month. Slides, multiple video, notes, etc.&lt;/li>
&lt;li>&lt;a href="http://collect3.com.au/hiss/">Hiss&lt;/a> routes Growl messages through Mountain Lion’s Notification Center. I keep thinking I should use Growl for more things with my frameworks…&lt;/li>
&lt;li>&lt;a href="https://leanpub.com/cucumber_and_cheese">Cucumber &amp;amp; Cheese&lt;/a> is not just about Ruby and Page Objects but how everything fits into the whole ATDD thing. Is likely Watir focused, but there are few people I would trust with this content more than Jeff.&lt;/li>
&lt;li>&lt;a href="https://github.com/disqus/gargoyle/">Gargoyle&lt;/a> is feature switching for Django.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/1163008">Automate the install of JDK 5 on Lion and Mountain Lion&lt;/a> seems like something that should be configured via Puppet or Chef or similar, but is geeky enough to include anyways.&lt;/li>
&lt;li>&lt;a href="http://lwn.net/Articles/508467/">Garzik: An Andre To Remember&lt;/a> is not Se related, but is important for people to read and remember to have context. And to remember there is a whole world outside.&lt;/li>
&lt;li>&lt;a href="https://speakerdeck.com/u/kennethreitz/p/python-for-humans">Python For Humans&lt;/a> is awesome. I’d like the whole ‘… For Humans’ thing to catch on.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #105</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-105/</link><pubDate>Mon, 30 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-105/</guid><description>&lt;p>This was supposed to go out Friday, but the flu bug I picked up decided to move the schedule about somewhat.&lt;/p>
&lt;ul>
&lt;li>As Se marches towards being a W3C standard, the sort of thing in &lt;a href="http://gist.io/3170829">OAuth and API Providers: Come on guys.&lt;/a> scares me more and more.&lt;/li>
&lt;li>&lt;a href="http://journal.ryanmccue.info/165/why-wp_error-sucks/">Why WP_Error Sucks&lt;/a>. Intelligent error handling is hard. Especially when you have a legacy install base to deal with. A nice little rant.&lt;/li>
&lt;li>Normally you see lists from people about books individuals want to see written, but Heroku has gone one step further and has released &lt;a href="https://devcenter.heroku.com/articles/open-topics">Contribute a Dev Center Article&lt;/a> of articles they want to see written about how to use their stuff. Brilliant?&lt;/li>
&lt;li>Issue 141 is getting some publicity this week featuring prominantly in a talk I’ve given 3 times in the last two weeks and now Jim answers once and for all the question of &lt;a href="http://jimevansmusic.blogspot.ca/2012/07/webdriver-y-u-no-have-http-status-codes.html">WebDriver: Y U NO HAVE HTTP Status Codes?!&lt;/a>. Who am I kidding? There is no way this goes away. &lt;em>USE A PROXY!&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://paste.ubuntu.com/1111807/">find a valid and unused port to listen on&lt;/a> is a nice little shell script that does exactly what it says. Was posted in the context of finding a port for grid nodes to listen to iirc&lt;/li>
&lt;li>&lt;a href="http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/">How To Download Files With Selenium And Why You Shouldn’t&lt;/a> echos a lot of what I say around scripting downloads. Also notice the bit at the end about checking status codes if you have an unnatural phobia of proxies&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2012/07/bidpom-drops-support-for-selenium-rc/">BIDPOM drops support for Selenium RC&lt;/a> I think is the first project I have seen come out and explicitly drop support for Se-RC. I expect to see more of this over the next year.&lt;/li>
&lt;li>I haven’t gone through it yet, but it looks like I need to pick up some Objective-C skillz soon and &lt;a href="https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html">About Objective-C&lt;/a> looks pretty good from the quick skim I did.&lt;/li>
&lt;li>I converted to OSX partly because it was FreeBSD way, way, &lt;em>way&lt;/em> under the hood. &lt;a href="http://www.semioticpixels.com/crib-notes/mac-10-7-path-settings-and-environment-variables/">Mac 10.7 $PATH Settings And Environment Variables&lt;/a> really shows how divergent things have come. But is something you need to know when building slave machines&lt;/li>
&lt;li>Speaking of Mountain Lion, &lt;a href="http://apple.blogoverflow.com/2012/07/interesting-new-unix-commandsbinaries-in-os-x-mountain-lion/">Interesting new UNIX commands/binaries in OS X Mountain Lion&lt;/a>. Something about calling a utility that keeps the machine from going to sleep ‘caffeinate’ cracks me up.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #104</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-104/</link><pubDate>Tue, 24 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-104/</guid><description>&lt;p>I think everyone is on holidays right now…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://blog.mozilla.org/nnethercote/2012/07/19/firefox-15-plugs-the-add-on-leaks/">Firefox 15 plugs the add-on leaks&lt;/a> — Hey look! Openness from Mozilla! I’m not kidding when I say I want to see more of these; from all browser vendors.&lt;/li>
&lt;li>&lt;a href="http://junitoath.caucus.com/">JUnit Oath&lt;/a> — when geeks collide!&lt;/li>
&lt;li>&lt;a href="http://www.weblogism.com/item/334/integration-tests-with-cucumber-jvm-selenium-and-maven">Integration Tests With Cucumber-Jvm, Selenium and Maven&lt;/a> is nice in that is shows the use of profiles (which is pretty much maven’s killer feature) but it uses Se-RC. Stop doing that!&lt;/li>
&lt;li>&lt;a href="http://iainrose.tumblr.com/">Testing your patience ….&lt;/a> – Iain is on a role with 4 Se related posts in a week.&lt;/li>
&lt;li>&lt;a href="http://rubyquicktips.com/post/27753730620/testing-csv-file-uploads">Testing CSV file uploads&lt;/a> is a RoR recipe&lt;/li>
&lt;li>&lt;a href="http://www.testinggeek.com/cast-2012-enforced-randomization-increasing-the-value-of-test-automation">Enforced Randomization&lt;/a> is a lightning talk from last week’s CAST conference. I like the definition of the types of randomization&lt;/li>
&lt;li>&lt;a href="http://www.imperialviolet.org/2012/07/19/hope9talk.html">Living with HTTPS&lt;/a> explains some things you will want to be looking at in your Page Object validate() methods.&lt;/li>
&lt;li>&lt;a href="http://ilker.de/selenium-on-fedora-17.html">Selenium on Fedora 17&lt;/a> is good once you ignore the first section. Se-Core is not a thing anymore; you don’t need to install it.&lt;/li>
&lt;li>&lt;a href="http://andrewchaa.me.uk/2012/07/19/remove-the-annoying-certificate-error-page-when-running-selenium-tests/">Remove the annoying certificate error page when running selenium tests&lt;/a> – You know, if you just &lt;em>&lt;strong>DON’T USE INVALID OR SELF-SIGNED CERTIFICATES IN YOUR AUTOMATION ENVIRONMENTS&lt;/strong>&lt;/em> then you don’t have this problem.&lt;/li>
&lt;li>I’m not sure how successful podcasts of programming sessions will be, but &lt;a href="https://plus.google.com/108967384991768947849/posts/HD3kQcKgtKi">Every Android session from Google I/O 2012 is now available for your listening pleasure via the Android Developers Live podcast!&lt;/a>. Of course, nothing on TDD, Automation or Testing. As usual. Testing tools being a lagging indicator indeed.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #103</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-103/</link><pubDate>Fri, 20 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-103/</guid><description>&lt;p>Seems I had this all ready to go yesterday… oh, and Happy Birthday Jim Evans — maintainer of IE and C# driver. If also a day late.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.hiretheworld.com/blog/tech-blog/migrating-unit-tests-from-selenium-to-watir-webdriver">Migrating Unit Tests from Selenium to Watir Webdriver&lt;/a> is less about migrating rather than a quick overview of Watir&lt;/li>
&lt;li>&lt;a href="http://blog.httpwatch.com/2012/07/17/httpwatch-8-4-supports-firefox-14-and-selenium/">HttpWatch 8.4: Supports Firefox 14 and Selenium&lt;/a> appears to be http traffic monitor — minus a proxy&lt;/li>
&lt;li>&lt;a href="https://github.com/birdy1976/sms">sms&lt;/a> is a quick script which will send an sms from the commandline — using Se as the means of doing it&lt;/li>
&lt;li>&lt;a href="http://busterjs.org/">Buster.JS&lt;/a> comes at you from the new-and-shiny factory&lt;/li>
&lt;li>&lt;a href="http://sauceio.com/index.php/2012/07/javascript-testing-in-parallel-with-wd-js-and-selenium/">Javascript testing in parallel with WD.js and Selenium&lt;/a> – mmmm parallel.&lt;/li>
&lt;li>&lt;a href="http://blog.caplin.com/2012/07/16/the-pain-of-html5/">The Pain of HTML5&lt;/a> – So. When does the backlash against HTML5 start?&lt;/li>
&lt;li>&lt;a href="http://launchware.com/articles/acceptance-testing-asserting-sort-order/">Acceptance Testing: Asserting Sort Order&lt;/a> shows how they checked that certain fields followed other ones&lt;/li>
&lt;li>&lt;a href="http://nadarei.co/mina/">Mina&lt;/a> is also from the new-and-shiny pile, but for deployment of applications. Also in the ‘we don’t like cap/vlad so wrote our own’ pile.&lt;/li>
&lt;li>&lt;a href="http://blog.steveklabnik.com/posts/2012-07-14-why-i-don-t-like-factory_girl">Why I don’t like factory_girl&lt;/a> — &lt;em>This story is one of Ruby groupthink gone awry&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://selenize.tk/">Selenize&lt;/a> looks like another Se-in-the-cloud, but tightly coupled to Github&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #102</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-102/</link><pubDate>Tue, 17 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-102/</guid><description>&lt;p>Apparently my body isn’t quite on left coast time…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.streak.com/2012/07/butter-performance.html?m=1">Butter Performance&lt;/a> is a nice experience report on making a [big] html table behave. All sorts of headaches this would cause for automation.&lt;/li>
&lt;li>I’m now starting to think more about caching since some of that information is included in HAR files. So if you are automating against a Rails site, &lt;a href="http://www.broadcastingadam.com/2012/07/advanced_caching_revised/">Advanced Caching in Rails: Revised&lt;/a> could be of values&lt;/li>
&lt;li>&lt;a href="http://eranki.tumblr.com/post/27076431887/scaling-lessons-learned-at-dropbox-part-1">Scaling lessons learned at Dropbox, part 1&lt;/a> is another fun experience report including a bit of hints at Dropbox’s own version of Netflix’s Chaos Monkey&lt;/li>
&lt;li>&lt;a href="http://veera-myseleniumblog.blogspot.ca/2012/01/finding-broken-links-in-webpage-using.html">Finding the broken links in a webpage using Selenium&lt;/a> is Se-RC, but the idea is sound. Notice how they are &lt;em>not&lt;/em> using Se to follow the link. This is why Se-RC and WebDriver is soo much more powerful than Se-IDE.&lt;/li>
&lt;li>Mozilla’s WebQA team launched a new blog, and then immediately posted a flurry of things. Not to see if they can keep up the pace!
&lt;ul>
&lt;li>&lt;a href="https://blog.mozilla.org/webqa/2012/07/12/webdrivers-implicit-wait-and-deleting-elements/">WebDriver’s implicit wait and deleting elements&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.mozilla.org/webqa/2012/07/12/webdriver-and-py-test-parametrize/">WebDriver and Py.Test parametrize&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.mozilla.org/webqa/2012/07/12/how-to-webdriverwait/">How to WebDriverWait&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://blogs.atlassian.com/2012/07/how-many-bamboo-build-agents/">How Many Build Agents Does My Project Need? (a.k.a. “The $16,000 Question”)&lt;/a> is Bamboo specific, but the idea is sound and should apply equally to other CI containers&lt;/li>
&lt;li>I can not tell you how much I dislike JS Widgets. Here is how to use WebDriver with &lt;a href="https://gist.github.com/3106277">DHTMLX ComboBox&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.davidchelimsky.net/2012/01/04/rspec-28-is-released/">RSpec-2.8 is released!&lt;/a> is about 6 months late to be ‘news’, but &lt;em>–order random&lt;/em> should be an option on all runners&lt;/li>
&lt;li>&lt;a href="http://www.dary.de/2012/07/speed-up-the-development-of-calabash-android-tests/">Speed Up the Development of Calabash-Android Tests&lt;/a> talks about how they extended irb to have a shell which will run things on their device. This seems like an stealable idea; run Se Server in a terminal, execute a script which doesn’t close the browser, run commands against it. Just thinking out loud…&lt;/li>
&lt;li>&lt;a href="http://pypi.python.org/pypi/expecter">expecter&lt;/a> is now on my shortlist to play with. But what is the soft-assert version of an expect? A hope?&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #101</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-101/</link><pubDate>Fri, 13 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-101/</guid><description>&lt;p>Really? A drought for most of the week and now I’ve got a queue again in the span of 3 hours?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://speakerdeck.com/u/nicola/p/developing-restful-web-apis-with-python-flask-and-mongodb">Developing RESTful Web APIs with Python, Flask and MongoDB&lt;/a> is toolchain dependent, but likely enough cross-tool-ism to be worth a quick click through&lt;/li>
&lt;li>The cool part of &lt;a href="http://hackers.mylookout.com/2012/07/jasmine-testing-with-saucelabs/">Jasmine Testing With Sauce Labs&lt;/a> isn’t necessarily the Jasmine part, but the Sauce Connect Puppet part. Though Jasmine is high on my cool list.&lt;/li>
&lt;li>&lt;a href="http://www.mobileapptesting.com/google-offers-all-in-one-mobile-app-analytics/2012/07/">Google Offers All-In-One Mobile App Analytics&lt;/a>. Woohoo! More things to slow down the mobile experience. And for us to figure out how to block to not get in the way of automation.&lt;/li>
&lt;li>&lt;a href="http://element34.ca/blog/webdriverwait-and-python">WebDriverWait and Python&lt;/a> is mine, but documents part of the driver that doesn’t have too much coverage right now&lt;/li>
&lt;li>I think there is a bit too much generalization with the usage of ‘they’ (see ‘They think it is more good than harm. They are proud how popular it is.’) but &lt;a href="http://filipin.eu/dragon-chicken-says-once-upon-a-time-a-knight-that-knew-only-record-playback-came-to-fight-me-it-was-a-lot-of-fun/">Dragon Chicken says: “Once upon a time a knight that knew only record-playback came to fight me. It was a lot of fun.”&lt;/a> discusses one of the points that keeps the Watir and Se communities at arms-length from each other. Not that they should be…&lt;/li>
&lt;li>UI Testing at Tradeshift is a decent article on how, well, they do UI Testing at Tradeshift. Like most series, the latter ones are the more technical ones but the the first one does provide ‘the story so far.’ &lt;a href="http://tradeshift.com/blog/ui-testing-at-tradeshift-pt-1/">part 1&lt;/a>, &lt;a href="http://tradeshift.com/blog/ui-testing-at-tradeshift-pt-2/">part 2&lt;/a>, &lt;a href="http://tradeshift.com/blog/ui-testing-at-tradeshift-pt-3/">part 3&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/3086536">Highlights a Selenium Webdriver element&lt;/a> is another bit of code I think I’ll liberate. Well the idea at any rate since I’m not using his page model.&lt;/li>
&lt;li>&lt;a href="http://net.tutsplus.com/tutorials/tools-and-tips/get-test-infected-with-selenium-2">Get Test-Infected With Selenium&lt;/a> is a Python WebDriver tutorial. Not too horrific.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/3086272">A Python list-like wrapper around WebDriver’s support.select.Select class&lt;/a> is another one of mine and is pretty out there; both in terms of what I was doing, and the level of meta I went to.&lt;/li>
&lt;li>&lt;a href="http://spin.atomicobject.com/2012/07/03/testing-html5-offline-features-against-a-remote-server-using-capybaraselenium/">Testing HTML5 Offline Features Against a Remote Server Using Capybara/Selenium&lt;/a> could also be done with something like the BrowserMob Proxy, but the idea is the same. And something we’re all going to have to add to our toolkits.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #100</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-100/</link><pubDate>Mon, 09 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-100/</guid><description>&lt;p>Century!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://msdn.microsoft.com/en-us/library/dd565669%28v=vs.85%29.aspx">Event 1028 – Automatic Download Blocking&lt;/a> looks like something that could be useful to have tucked away in your head somewhere&lt;/li>
&lt;li>I think I said I wasn’t going to link to &lt;em>headless gem&lt;/em> posts, but I don’t think I’ve linked to one about Cucumber. &lt;a href="http://sermoa.wordpress.com/2011/07/02/cucumber-running-headless-selenium-with-jenkins-the-easy-way/">Cucumber running headless Selenium with Jenkins (the easy way)&lt;/a>; fixed&lt;/li>
&lt;li>&lt;a href="http://errorception.com/">Errorception&lt;/a>, and things like it, are the next wave of infrastructure to come I think now that things like BrowserMob Proxy are becoming mainstream-ish-er&lt;/li>
&lt;li>I’m not really sure of the difference between &lt;a href="https://github.com/benaston/NPageObject.Selenium">NPageObject.Selenium&lt;/a> and &lt;a href="https://github.com/benaston/NPageObject">NPageObject&lt;/a>. But if you are using .NET perhaps you’ll be interested enough to dig in.&lt;/li>
&lt;li>Speaking of .NET and the requisite VS environment; &lt;a href="http://anoopjshetty.wordpress.com/2012/06/29/integrating-nant-builder-with-visual-studio-to-run-the-selenium-web-driver-tests-using-nunit">Integrating NAnt builder with Visual Studio to run the Selenium Web Driver tests using NUnit&lt;/a>. Just remember, your scripts need to &lt;em>also&lt;/em> be run outside of the IDE as well.&lt;/li>
&lt;li>Video! &lt;a href="http://lanyrd.com/2012/europython/swpfw/">Fully Test-Driven Django With Selenium&lt;/a> from PyCon 2012 (scroll down)&lt;/li>
&lt;li>&lt;a href="http://cheggeng.github.com/Bromine/">Bromine&lt;/a> has been released. No. Not &lt;em>that&lt;/em> bromine that was associated with Selenium for years. This one is an Event.js based project for automation. Innocent naming conflict, indifference — or SEO land grab? (Just teasing…)&lt;/li>
&lt;li>&lt;a href="http://filipin.eu/test-automation-at-homeswap-com/">Test automation at HomeSwap.com&lt;/a> is likely watir based, but likely worth a view anyways. (Like how I say that implying like I don’t have 15 weeks of videos backlogged already…)&lt;/li>
&lt;li>&lt;a href="http://blog.ironpython.net/2012/07/whats-new-in-ironpython-273.html">What’s new in IronPython 2.7.3&lt;/a> is of note if you are stuck in a .NET environment but dislike it…&lt;/li>
&lt;li>&lt;a href="http://arlobelshee.com/what-makes-a-good-test-suite">What makes a good test suite?&lt;/a> is an interesting like of respondents&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #99</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-99/</link><pubDate>Fri, 06 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-99/</guid><description>&lt;p>With the queue flushed we’ll go back to our regular random posting schedule&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.livestream.com/etsy/video?clipId=pla_780bfe22-12e8-4c7f-8c7b-06cc6cac9c49">Etsy Code as Craft: The Other Part of Software Architecture with Coda Hale&lt;/a> – Code as Craft talks are generally good&lt;/li>
&lt;li>All the &lt;a href="http://summit.atlassian.com/archives/2012/dev-ops/aligning-continuous-integration-deployment">Atlassian Summit 2012&lt;/a> talks. I &lt;em>love&lt;/em> this trend.&lt;/li>
&lt;li>&lt;a href="http://robert.accettura.com/blog/2012/06/28/perception-of-performance/">Perception Of Performance&lt;/a> discusses the whole ‘OMG CHOME IS HELLA FAST ON IOS!!!!!!’ madness. As the last line of the article says, &lt;em>I present to you, the power of marketing!&lt;/em> Oh. And read Peter Kasting’s comment as well for a bit of a rebuttal.&lt;/li>
&lt;li>&lt;a href="http://sauceio.com/index.php/2012/03/selenium-tips-uploading-files-in-remote-webdriver/">Uploading Files in Remote WebDriver&lt;/a> showcases part of the Remote WebDriver stuff that doesn’t get much written about it.&lt;/li>
&lt;li>&lt;a href="http://hackers.mylookout.com/2012/07/puppet-lint-with-jenkins/">Puppet Link With Jenkins&lt;/a> – Heck, why not?&lt;/li>
&lt;li>&lt;a href="http://www.mehdi-khalili.com/presentations/automated-ui-testing-done-right-at-dddsydney">Automated UI Testing Done Right&lt;/a> – for some definition of right for some person at some time in some context…&lt;/li>
&lt;li>&lt;em>Leap Smear&lt;/em> is likely an example of internal smart-ass jargon that ended up sticking; &lt;a href="http://googleblog.blogspot.ca/2011/09/time-technology-and-leaping-seconds.html">Time, technology and leaping seconds&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://hugost.com/labnotes/webtiming.html">Use Python + Selenium to Automate Web Timing&lt;/a> takes a non-proxy route to getting page information&lt;/li>
&lt;li>&lt;a href="http://bendyworks.github.com/bwoken/">bwoken&lt;/a> 1.1 can run UIAutomation scripts in the simulator &lt;em>and on the device&lt;/em> which is pretty awesome. Know what would be more awesome? If Apple did this themselves rather than the community having to figure it out on their own. But that goes for a lot of vendors with a lot of things.&lt;/li>
&lt;li>&lt;a href="http://blog.cloudflare.com/ttfb-time-to-first-byte-considered-meaningles">Stop worrying about Time To First Byte (TTFB)&lt;/a> shows that, shocking!, different tools measure the same thing different ways and get different results. Never happens. Oh. and a bit of a rebuttal; &lt;a href="https://plus.google.com/114552443805676710515/posts/GTWYbYWP6xP">TL;DR: Time to First Byte Matters, when you know what to put into those bytes.&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #98</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-98/</link><pubDate>Mon, 02 Jul 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-98/</guid><description>&lt;p>Happy day off Canuckistan! I’ll be in California in two weeks; here is &lt;a href="http://element34.ca/blog/california-tour-summer-2012">my schedule&lt;/a> — come by and chat&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://allianceglobalservices.com/blog/selenium-rc-to-webdriver-migration-%E2%80%93-part2">Selenium Rc to Webdriver Migration – Part2&lt;/a> is included mainly for the IE bit. Busted SSL certificate? Don’t work around the problem — fix it! Can’t find an element? Synchronize properly — don’t just bap it in the face with the magic implicit wait wand…&lt;/li>
&lt;li>&lt;a href="http://www.youtube.com/user/GoogleDevelopers?feature=watch">Google I/O 2012 Videos&lt;/a> won’t give you the loot attendees got, just the content.&lt;/li>
&lt;li>Does WebDriver support &lt;a href="http://developer.android.com/about/versions/jelly-bean.html">Jelly Bean&lt;/a> yet? /me ducks and runs for cover&lt;/li>
&lt;li>&lt;a href="http://www.crashlytics.com/blog/scaling-continuous-integration-cutting-test-time-by-77/">Scaling Continuous Integration – Cutting Test Time by 77%&lt;/a> – my Spidey sense says that the next wave of tooling is about dynamic script selection, parallelization and general speediness-ing. In this article &lt;em>since there’s no longer a need to delay arbitrary amounts of time&lt;/em> is the killer line.&lt;/li>
&lt;li>&lt;a href="http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/">jQuery Core: Version 1.9 and Beyond&lt;/a> seems rather optimistic. WebDriver should be immune [I think] though so if your scripts break, its the app! 🙂&lt;/li>
&lt;li>Myth #2 of &lt;a href="https://speakerdeck.com/u/chrismdp/p/cucumber-its-about-talking-not-testing">Cucumber: It’s about Talking not Testing&lt;/a> is outstanding. And sadly, nearly ubiquitous&lt;/li>
&lt;li>&lt;a href="http://pythonconquerstheuniverse.wordpress.com/2012/02/01/unicode-for-dummies-encoding/">Unicode for dummies — Encoding&lt;/a> – be afraid of any article that starts with &lt;em>The basic concepts are simple&lt;/em>. Then brace yourself and read it anyways. Unicode is important.&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/AmazonWebServices/cloudpowered-continuous-integration-and-deployment-architectures-jinesh-varia">Cloud-powered Continuous Integration and Deployment architectures&lt;/a> is very AWS centric (obviously given the author) but still pretty good.&lt;/li>
&lt;li>Can’t get enough of Responsive Design? How about &lt;a href="http://www.alistapart.com/articles/responsive-images-how-they-almost-worked-and-what-we-need/">Responsive Images: How they Almost Worked and What We Need&lt;/a>&lt;/li>
&lt;li>This would have been more relevant last week when it was &lt;a href="http://www.nme.com/filmandtv/news/back-to-the-future-day-hoax-hits-again/272599">Back To The Future day&lt;/a>, but &lt;a href="https://github.com/bebanjo/delorean">Delorean&lt;/a> lets you muck about with time in your Ruby scripts&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #97</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-97/</link><pubDate>Fri, 29 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-97/</guid><description>&lt;p>Yes. I know. I missed a day. But 13 in a row was a good run!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.parse.com/2012/06/28/free-automated-cross-browser-javascript-testing/">Free Automated Cross-Browser JavaScript Testing&lt;/a> is a pretty standard ‘here is how you do it’ article — until you get to the IE section. It has a trick I don’t think I’ve seen yet.&lt;/li>
&lt;li>If you don’t want to use a Proxy to generate HAR files, you can use NetExport in your Firefox profile to save things locally, or sent them to a remote server as explained in &lt;a href="http://www.softwareishard.com/blog/firebug/automate-page-load-performance-testing-with-firebug-and-selenium/">Automate Page Load Performance Testing with Firebug and Selenium&lt;/a>. (I like the proxy route myself since it is cross browser.)&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/06/27/automatic-firefox-authentication-when-using-selenium-webdriver-with-autoauth/">Automatic Firefox authentication when using Selenium-WebDriver with AutoAuth&lt;/a> is Watir-based, but would also work for WebDriver&lt;/li>
&lt;li>&lt;a href="http://my.opera.com/ODIN/blog/2012/06/27/introducing-robohydra-operas-open-source-http-client-test-tool">Introducing RoboHydra – Opera’s open-source HTTP client test tool&lt;/a> seems to take the whole ‘take this service and stub it!’ approach&lt;/li>
&lt;li>&lt;a href="http://pytest.org/dev/resources.html">Creating and working with parametrized test resources&lt;/a> is a peek at what could be coming soon to a Py.Test installation near you. Also makes my brain hurt.&lt;/li>
&lt;li>&lt;a href="http://isbullsh.it/2012/06/Rest-api-in-python/">Communicating with RESTful APIs in Python&lt;/a> nicely illustrates why you should also be using Requests&lt;/li>
&lt;li>&lt;a href="http://jimevansmusic.blogspot.ca/2012/06/whither-nuget-and-webdriver-net.html">Whither NuGet and the WebDriver .NET bindings&lt;/a> explains the whole NuGet and WebDriver .NET mess(?). Again I say, packaging is hard.&lt;/li>
&lt;li>&lt;a href="http://blog.ivandemarino.me/2012/06/16/Git-rebase-be-a-mother-not-a-plastic-surgeon">Git rebase: be a mother, not a plastic surgeon&lt;/a> — has git taken the place of gdb for top of the arcane knowledge food chain?&lt;/li>
&lt;li>&lt;a href="http://hairysun.com/blog/2012/06/28/real-life-generators-and-peeker/">Real-life Generators and a Peeker Too&lt;/a> shows that I don’t know anything about Generators let alone the idea of a Peeker. Though I suspect I have needed this trick in the past.&lt;/li>
&lt;li>Remember the good ol’ days when a browser could take out your OS? They’re baaaack. &lt;a href="http://googlechromereleases.blogspot.ca/2012/06/beta-and-stable-channel-update.html">Beta and Stable Channel Update&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #96</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-96/</link><pubDate>Wed, 27 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-96/</guid><description>&lt;p>Blech. Supposed to go car shopping today. Any car brands want to sponsor my wife with a car so I can do something productive? Worth a shot…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/pnakhat/jbehave-selenium">jbehave-selenium&lt;/a> is a sample project that uses, unsurprisingly, jbehave and selenium. Sample projects are outstanding.&lt;/li>
&lt;li>Just as samples are good, so are playgrounds. &lt;a href="http://www.chris-granger.com/2012/06/24/its-playtime/">It’s playtime – Light Table Playground released&lt;/a>&lt;/li>
&lt;li>And &lt;a href="http://www.tryjasmine.com/">try jasmine!&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://litmus.com/blog/joyride-website-acceptance-testing">Announcing Joyride&lt;/a> is another ‘browser automation without programming as a service’ site&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2012/06/announcing-pytest-mozwebqa-1-0/">Announcing pytest-mozwebqa 1.0&lt;/a> has a bunch of things I need to steal, erm borrow, erm be inspired by for my stuff (&lt;a href="http://element34.ca/products/saunter/pysaunter">Py.Saunter&lt;/a>)&lt;/li>
&lt;li>As a builder of frameworks, &lt;a href="http://stackoverflow.com/questions/11148009/sauce-labs-tests-with-meaningful-names">Sauce labs tests with meaningful names&lt;/a> is the sort of madness I need to deal with&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/11209066/feature-and-scenario-outline-name-in-cucumber-before-hook">Feature and scenario outline name in cucumber before hook&lt;/a> is in the same vein&lt;/li>
&lt;li>&lt;a href="https://github.com/heynemann/pyccuracy">pyccuracy&lt;/a> is a BDD framework for Python&lt;/li>
&lt;li>&lt;a href="https://github.com/hugobr/specloud">SpecLoud&lt;/a> is the same-ish thing, but using nose&lt;/li>
&lt;li>&lt;a href="http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329/">VsVim&lt;/a> could make VisualStudio a viable development platform 😉&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #95</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-95/</link><pubDate>Tue, 26 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-95/</guid><description>&lt;p>Ok twitterverse. After 2 weeks of very few links a day you explode.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.slideshare.net/lfryc/testing-jsf-with-arquillian-and-selenium">Testing JSF with Arquillian and Selenium&lt;/a> apparently will save the world.&lt;/li>
&lt;li>&lt;a href="http://blog.ivandemarino.me/2012/06/26/GhostDriver-almost-50">GhostDriver: almost 50%&lt;/a> is an update on something that got a bit of momentum at SeConf2012&lt;/li>
&lt;li>&lt;a href="http://engineering.twitter.com/2012/06/building-and-profiling-high-performance.html">Building and profiling high performance systems with Iago&lt;/a> is getting a bump by being released at/during Velocity. Not browser based, but what its being used for doesn’t need browsers.&lt;/li>
&lt;li>&lt;a href="http://grosser.it/2012/04/19/testing-geolocation-with-capybara-selenium-firefox/">Testing geolocation with capybara + selenium + firefox&lt;/a> is an interesting trick to address something I haven’t thought of needing yet.&lt;/li>
&lt;li>&lt;a href="http://selenium.polteq.com/en/run-your-selenium-tests-in-the-cloud-with-testingbot/">Run your Selenium tests in the cloud with TestingBot&lt;/a> kinda looks like astroturfing but illustrates how to use TestingBot with Java.&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/patrickmeenan/velocity-2012-taming-the-mobile-beast">Taming the Mobile Beast&lt;/a> is a deck [also from Velocity I think]&lt;/li>
&lt;li>&lt;a href="http://gigaom.com/cloud/netflix-open-sources-asgard-cloud-deployment-smarts/">Netflix open sources Asgard cloud deployment smarts&lt;/a> is more fun stuff from Netflix&lt;/li>
&lt;li>&lt;a href="http://docs.django-skel.org/en/latest/index.html">django-skel&lt;/a> solves part of the ‘how do I start a new project’ problem with Django&lt;/li>
&lt;li>While the BrowserMob Proxy is kinda the default proxy for Selenium, &lt;a href="http://fiddler2.com/book/">Debugging with Fiddler&lt;/a> explains a proxy that is getting more commonplace in the manual testing world.&lt;/li>
&lt;li>&lt;a href="http://sqlfiddle.com/">SQL Fiddle&lt;/a> has the same root word but is very different. Though I am not really sure how wise it is to let a web app construct your schema. Magic rarely results in days that don’t end in tears.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #94</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-94/</link><pubDate>Mon, 25 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-94/</guid><description>&lt;p>&lt;code># sudo wget coffee &amp;gt; adam&lt;/code>&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://compendiumdev.co.uk/selenium/mindmap/Selenium-RC_Commands.html">Selenium-RC Commands&lt;/a> is a mindmap of all the commands in Se-RC. (Unsurprising really.) I keep meaning to do this for WebDriver.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://bitbucket.org/DanC/quacken/overview">quacken&lt;/a> is a script for grabbing OFX files from Quicken it seems&lt;/p>
&lt;/li>
&lt;li>
&lt;p>What’s that? You weren’t happy with one of the six PHP WebDriver clients that were out there already? Have another one — &lt;a href="https://github.com/Nearsoft/PHP-SeleniumClient">Nearsoft/PHP-SeleniumClient&lt;/a>. It’d be spooky what would happen if we all got together on this.&lt;/p></description></item><item><title>A Smattering of Selenium #93</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-93/</link><pubDate>Fri, 22 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-93/</guid><description>&lt;p>Did I say 8 days in a row yesterday? I meant 9. Good thing programming doesn’t require counting…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://stackoverflow.com/questions/11150204/passing-ruby-instance-variables-from-rspec-to-mix-ins">Passing ruby instance variables from Rspec to mix ins&lt;/a> is the sort of nonsense you need to do when framework writing. Scared yet? (But it is fun…)&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/06/22/rspec-page-objects-and-user-flows/">Rspec, page objects and user flows&lt;/a> is the experiment that likely led to the link above&lt;/li>
&lt;li>&lt;a href="https://github.com/rtyler/puppet-sauceconnect">puppet-sauceconnect&lt;/a> is a puppet module for moving Sauce’s &lt;em>Sauce Connect&lt;/em> daemon onto remote nodes. Now if only someone would write the module to get the windows Java installer to run…&lt;/li>
&lt;li>&lt;a href="http://blog.newrelic.com/2012/06/21/adventures-in-performance-tuning/">Adventures In Performance Tuning&lt;/a> is pure dog-fooding win&lt;/li>
&lt;li>&lt;a href="http://blog.codecentric.de/en/2012/06/the-listener-interface-of-the-robot-framework/">The Listener Interface of the Robot Framework&lt;/a> or ‘How do I debug this?’&lt;/li>
&lt;li>&lt;a href="http://sharetest.codeplex.com/">ShareTest&lt;/a> shows Page Object for SharePoint.&lt;/li>
&lt;li>&lt;a href="http://blog.flavorjon.es/2012/03/y-u-no-gemspec.html">Y U NO GEMSPEC!?&lt;/a> is one way to make sure only people who &lt;em>need&lt;/em> to be running unstable code will be&lt;/li>
&lt;li>&lt;a href="http://www.rackspace.com/blog/rackspace-open-sources-whiskey-a-test-framework/">Rackspace Open Sources Whiskey, A Test Framework&lt;/a> is Rackspace’s framework and explains why they wrote their own&lt;/li>
&lt;li>&lt;a href="http://blog.davidchelimsky.net/2012/02/12/validations-are-behavior-associations-are-structure/">Validations are behavior, associations are structure&lt;/a> isn’t about browsers per se, but is an interesting discussion anyways&lt;/li>
&lt;li>&lt;a href="http://elblinkin.info/2012/02/php-codesniffer-for-recently-changed-files/">PHP CodeSniffer for Recently Changed Files&lt;/a> is an interesting pre-step-zero for your build pipeline&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #92</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-92/</link><pubDate>Thu, 21 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-92/</guid><description>&lt;p>What’s that? Eight days in a row? That’s right…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/mroth/lolcommits">lolcommits&lt;/a> seems almost funny enough to be a good idea&lt;/li>
&lt;li>&lt;a href="http://blog.mattwynne.net/2012/04/26/a-vision-for-cucumber-2-0/">A vision for Cucumber 2.0&lt;/a> is rather interesting&lt;/li>
&lt;li>&lt;a href="http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/">Install Firefox on Amazon Linux X86_64 Compiling GTK+&lt;/a> is not something I have had to do. But then again, I haven’t tried.&lt;/li>
&lt;li>&lt;a href="http://www.nerrvana.com/">Nerrvana&lt;/a> is yet another Selenium-As-A-Service provider. Looks like they are taking the ‘upload to our servers and run as a scheduled job’ approach rather than real-time.&lt;/li>
&lt;li>&lt;a href="http://www.sencha.com/blog/ext-js-4-1-performance">Ext JS 4.1 Performance&lt;/a> is important stuff if you are using this toolkit. (I also like how they author is &lt;em>Nige “Animal” White&lt;/em> — note that I did not add the animal part myself)&lt;/li>
&lt;li>Dunno if it is just who I follow of if the Ruby / PHP communities just don’t post this sort of thing, but &lt;a href="http://eli.thegreenplace.net/2012/03/23/python-internals-how-callables-work/">How Callables Work&lt;/a> is another geeky Python post&lt;/li>
&lt;li>&lt;a href="http://codeascraft.etsy.com/2012/03/12/scaling-ci-at-etsy-divide-and-concur-revisited/">Scaling CI at Etsy: Divide and Concur, Revisited&lt;/a> is the lightsaber heuristic in action — only around Jenkins plugins this time.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/2050539">RSpec is not the reason your rails test suite is slow&lt;/a> is a gist along the theme of ‘slow tests are slow but not for the reasons you think’
&lt;script src="https://gist.github.com/dchelimsky/2050539.js">&lt;/script>
&lt;/li>
&lt;li>I really don’t like integrations that are all-or-nothing from a philisophical perspective, but if you are look at using Sauce OnDemand with Behat, &lt;a href="https://github.com/Shashi-ibuildings/Behat-Sauce">Behat-Sauce&lt;/a> is what you want.&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/c.titus.brown/pycon-2012-tip-bof-intro-slides">Top 10 Reasons No One Uses Your Testing Tool&lt;/a> from this year’s PyCon is so accurate it is spooky.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #91</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-91/</link><pubDate>Wed, 20 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-91/</guid><description>&lt;p>As you’ll start to see by the timestamps of things towards the end, I’m running out of ‘new’ stuff and am pulling from the queue now.&lt;/p>
&lt;ul>
&lt;li>Fairly certain I’ve linked to this before, but &lt;a href="http://pypi.python.org/pypi/seleniumwrapper/0.3.4">seleniumwrapper&lt;/a> adds some syntacitcal sugar around the Python bindings. Though not sure that it makes it clearer to me.&lt;/li>
&lt;li>&lt;a href="http://late.am/post/2012/06/18/what-the-heck-is-an-xrange">What the heck is an xrange?&lt;/a> is today’s Python internal geekiness post&lt;/li>
&lt;li>&lt;a href="http://vimeo.com/44133409">Functional Automated Testing Best Practices with Selenium WebDriver&lt;/a> is the video version of &lt;a href="http://benburton.github.com/presentations/webdriver-best-practices/">these slides&lt;/a> (wow I dislike this html slide deck trend…)&lt;/li>
&lt;li>All the &lt;a href="https://developer.apple.com/videos/wwdc/2012/">WWDC 2012 Session Videos&lt;/a> are now up. Naturally there is nothing on automation or testing, but its not like app developers do any of that stuff anyways 🙂&lt;/li>
&lt;li>All the &lt;a href="https://github.com/watir/watir-bazaar/wiki/Presentations">Slides and Videos&lt;/a> from this year’s Watir Bazaar (which is likely more valuable than the WWDC stuff…)&lt;/li>
&lt;li>&lt;a href="http://www.telerik.com/automated-testing-tools/blog/jimholmes/12-03-28/avoiding-brittle-automation.aspx">Avoiding Brittle Automation&lt;/a> is a lightning-ish talk from STPCon in New Orleans back in March&lt;/li>
&lt;li>&lt;a href="http://deanhume.com/Home/BlogPost/selenium-webdriver---using-a-headless-browser-in--net/69">Using a Headless Browser in .Net&lt;/a> might be the first article I’ve seen on this for .NET. I’m officially ignoring them in Python…&lt;/li>
&lt;li>&lt;a href="https://github.com/tourdedave/Cucumber-Crash-Course">Cucumber-Crash-Course&lt;/a> is healdless cucumber/capybara. Getting close to ignoring Ruby headless too.&lt;/li>
&lt;li>&lt;a href="http://angryweasel.com/blog/?p=437">The Robots are Taking Over&lt;/a> – reading between the lines, if you are automating the fun stuff you are doing it wrong.&lt;/li>
&lt;li>&lt;a href="http://www.saintsjd.com/2011/03/automated-deployment-of-wordpress-using-git/">Automated Deployment of PHP Applications using git&lt;/a> looks generic enough. You always have to watch that people actually mean ‘git’ and not ‘git as implemented by the kids at github’&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #90</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-90/</link><pubDate>Tue, 19 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-90/</guid><description>&lt;p>Eventually I’ll get back on the once-a-week schedule. But not today!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://news.ycombinator.com/item?id=4128208">Falsehoods Programmers believe about Time&lt;/a>. Time is hard; let’s go shopping!&lt;/li>
&lt;li>Speaking of hard. Concurrency is not Parallelism (it’s better) (&lt;code>http://concur.rspace.googlecode.com/hg/talk/concur.html&lt;/code>) — also has gophers&lt;/li>
&lt;li>Did Netflix actually &lt;a href="http://www.wired.com/wiredenterprise/2012/04/netflix_monkeys/all/1">Open Source Army of Cloud Monkeys&lt;/a>? I don’t see anything on their &lt;a href="https://github.com/netflix">github&lt;/a> account (and that is the trendy place to release stuff these days)&lt;/li>
&lt;li>&lt;img src="https://i0.wp.com/cdn.memegenerator.net/instances/400x/18503305.jpg" alt="">Need I say more?&lt;/li>
&lt;li>I’ve used this trick a couple times &lt;a href="http://stackoverflow.com/questions/5326539/python-introspection-how-to-check-current-module-line-of-call-from-within-fu">Python introspection – how to check current module / line of call from within function&lt;/a>&lt;/li>
&lt;li>Ah-ha! PHP is not the only language with multiple bindings! &lt;a href="https://bitbucket.org/niklasl/webdry">webdry&lt;/a> is &lt;em>a Python (jquery-inspired) wrapper for DRY:er access to the Selenium WebDriver.&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://code-thrill.blogspot.in/2012/04/integrating-jquery-with-selenium.html">Integrating jQuery With Selenium&lt;/a> talks about the js executor and using jquery instead of the browser’s native locator stuff. I’m not sure I would do this, but it seems like one of those things that people are want to do…&lt;/li>
&lt;li>I really don’t know the backstory to &lt;a href="http://recordplaybackfail.com/">Record! Playback? #Fail&lt;/a> but it is kinda amusing&lt;/li>
&lt;li>&lt;a href="https://blog.houseoftest.se/2012/03/26/checking-as-an-enabler-for-testing/">Checking as an enabler for testing&lt;/a> will annoy some since it follows the ‘testing vs checking’ distinction, but is bang on.&lt;/li>
&lt;li>More reasons to go shopping! &lt;a href="http://nedbatchelder.com/text/unipain.html">Pragmatic Unicode&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #89</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-89/</link><pubDate>Mon, 18 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-89/</guid><description>&lt;p>Figured I would get this out before the computer goes in for surgery.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.softwareishard.com/blog/firebug/automate-page-load-performance-testing-with-firebug-and-selenium/">Automate Page Load Performance Testing with Firebug and Selenium&lt;/a> is not a new topic, but a timely one for me&lt;/li>
&lt;li>&lt;a href="http://itshouldbeuseful.wordpress.com/2010/11/11/speed-up-your-features-with-a-backdoor-login-route/">Speed up your features with a backdoor login route&lt;/a> is not a recent post, but something I’ve had to explain to people at least once a week for the past month, so…&lt;/li>
&lt;li>&lt;a href="http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax">RSpec’s New Expectation Syntax&lt;/a> explains not only the ‘what’ of the new syntax but the ‘why’&lt;/li>
&lt;li>&lt;a href="http://bitly.com/bundles/undeleterious/1">Slides &amp;amp; Videos from LDNSE #6&lt;/a> does not falsely advertise itself&lt;/li>
&lt;li>&lt;a href="http://coreygoldberg.blogspot.ca/2012/06/python-timer-class-context-manager-for.html">Python Timer Class – Context Manager for Timing Code Blocks&lt;/a> reminds me that I need to use Context Managers more often&lt;/li>
&lt;li>&lt;a href="http://blog.sigfpe.com/2012/03/overloading-python-list-comprehension.html?m=1">Overloading Python list comprehension&lt;/a> is an interesting little experiment. Well, depending on your definition of interesting I suppose&lt;/li>
&lt;li>I posted the about how Python creates classes last week, and going through the queue of things I have to post came across &lt;a href="http://eli.thegreenplace.net/2012/04/16/python-object-creation-sequence/">Python object creation sequence&lt;/a> from the same blog&lt;/li>
&lt;li>&lt;a href="http://www.peterprovost.org/blog/2012/04/15/visual-studio-11-fakes-part-1/">Visual Studio 11 Fakes Part 1 – Stubs&lt;/a> discussed the Fakes framework which appears to ship in VS11. Stubs. Are. Awesome. Oh, and it took too much work to find it, but &lt;a href="http://www.peterprovost.org/blog/2012/04/25/visual-studio-11-fakes-part-2/">Visual Studio Fakes Part 2 – Shims&lt;/a> is the follow-up. Actually, if you are VS all day there are a bunch of neat things on that blog.&lt;/li>
&lt;li>I don’t own a copy, but &lt;a href="http://grumpy-testing.com/">The Grumpy Programmer’s Guide To Building Testable PHP Applications&lt;/a> but the section breakdown seems like it would be correct.&lt;/li>
&lt;li>&lt;a href="http://bradfrostweb.com/blog/mobile/test-on-real-mobile-devices-without-breaking-the-bank/">Test on Real Mobile Devices Without Breaking the Bank&lt;/a> has some food for thought. And its own quirky definition of ‘bank’. Especially given that the half-life of a mobile OS is something like 7 months it seems.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #88</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-88/</link><pubDate>Fri, 15 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-88/</guid><description>&lt;p>Five days and fifty links later…&lt;/p>
&lt;ul>
&lt;li>I’m working on a larger-ish rant on headless browsers, but until then there is &lt;a href="http://johnbintz.github.com/jasmine-headless-webkit/">Jasmine Headless WebKit&lt;/a>&lt;/li>
&lt;li>Not 2. Not 4. But &lt;a href="http://watirmelon.com/2012/06/15/three-ways-to-generate-test-data-for-your-ruby-automated-tests/">Three ways to generate test data for your ruby automated tests&lt;/a>&lt;/li>
&lt;li>Downloading things is a pain, but &lt;a href="http://watirmelon.com/2012/06/15/waiting-for-watir-webdriver-downloads-and-determining-the-file-name/">Waiting for watir-webdriver downloads (and determining the file name)&lt;/a> has a solution&lt;/li>
&lt;li>Use classes in Python? Of course you do! &lt;a href="http://eli.thegreenplace.net/2012/06/15/under-the-hood-of-python-class-definitions/">Under the hood of Python class definitions&lt;/a> — but as the warning states, &lt;em>If the prospect of pondering the metaclass of the metaclass of your class makes you feel nauseated, you better stop now.&lt;/em>&lt;/li>
&lt;li>And after you read that, you’ll be set to understand what &lt;a href="http://people.csail.mit.edu/pgbovine/python/tutor.html#mode=edit">Online Python Tutor&lt;/a> tells you. OK, its not at the same level of insanity, but…&lt;/li>
&lt;li>&lt;a href="https://github.com/jarmo/watirsplash">WatirSplash&lt;/a> is another framework to steal ideas from 🙂&lt;/li>
&lt;li>&lt;a href="http://hynek.me/articles/python-deployment-anti-patterns/">Python Deployment Anti-Patterns&lt;/a> likely applies to more than just Python&lt;/li>
&lt;li>&lt;a href="http://ceklog.kindel.com/2012/04/18/dont-build-apis/">Don’t Build APIs…&lt;/a> is a nice little rant&lt;/li>
&lt;li>&lt;a href="http://stephenwalther.com/blog/archive/2011/12/22/asp-net-mvc-selenium-iisexpress.aspx">ASP.NET MVC + Selenium + IISExpress&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.crisp.se/2012/04/19/alexandertarnowski/slides-from-selenium-conference">Being good at waiting – Using Selenium to test Ajax-intensive pages&lt;/a> from SeConf2012&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #87</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-87/</link><pubDate>Thu, 14 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-87/</guid><description>&lt;p>Avoiding punching things about software packaging by doing the 4th!!!! smattering in row.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://pythonconquerstheuniverse.wordpress.com/2012/04/29/python-decorators/">Python Decorators&lt;/a> is an attempt at picking up a stick the right way&lt;/li>
&lt;li>A &lt;a href="http://brian.io/lawnchair/">lawnchair&lt;/a> is sorta like a couch except smaller and outside. And a persistence solution for HTML5 apps. If your apps persist data, checking them in the browser is. Not. Enough.&lt;/li>
&lt;li>Atlassian is building a performance tool off of WebDriver &lt;em>including Page Objects&lt;/em> called &lt;a href="http://blogs.atlassian.com/2012/06/performance-and-soke/">soke&lt;/a>&lt;/li>
&lt;li>I wonder if we should fail scripts that use vendor prefixes…&lt;a href="http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/">How to Unprefix -Webkit-Device-Pixel-Ratio&lt;/a>&lt;/li>
&lt;li>The last paragraph in &lt;a href="http://elvis314.wordpress.com/2012/06/13/android-unittests-now-have-lolcat/">Android unittests now have LOLcat&lt;/a> is the sort of thing that more projects should do&lt;/li>
&lt;li>&lt;a href="http://nedbatchelder.com/blog/201206/tldw_speedily_practical_largescale_tests.html">tl;dw: Speedily practical large-scale tests&lt;/a> — of course, browsers are going to slow things in any event, but things to think about…&lt;/li>
&lt;li>&lt;a href="http://www.onebigfluke.com/2012/06/continuous-deployment-as-remedy-for.html">Continuous Deployment as a Remedy for Burnout&lt;/a> — hadn’t thought about it this way, but yup. It is.&lt;/li>
&lt;li>&lt;a href="http://kennethreitz.com/repository-structure-and-python.html">Repository Structure and Python&lt;/a> is full of opinions, but that’s ok, opinions are good.&lt;/li>
&lt;li>&lt;a href="http://www.build-doctor.com/2012/04/23/skewer/">Skewer&lt;/a> – is &lt;em>a tool for provisioning cloud nodes with Puppet&lt;/em>. Which is how you should be making sure your bits are on the server. (Or Chef, or CfEngine, or…)&lt;/li>
&lt;li>&lt;a href="http://www.dary.de/2012/04/calabash-android">Calabash-Android&lt;/a> is I think the ‘new’ way of driving Android apps. It keep changing…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #86</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-86/</link><pubDate>Wed, 13 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-86/</guid><description>&lt;p>Look at that! 3 days in a row, and the boy isn’t even gone to school yet and I’ve hit ‘publish’&lt;/p>
&lt;ul>
&lt;li>Most people know about this already, but &lt;a href="http://www.youtube.com/seleniumconf">SeleniumConf&lt;/a> has its own YouTube channel — which has all of the 2012 videos on it now.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/2493103">How to Dynamically Add Android Support to Selenium Server at Runtime&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://nedbatchelder.com/text/iter.html">Python Iteration&lt;/a> is a beginner talk about, well, iterating in Python. In ways that you would expect (for) and ways that you wouldn’t (generators)&lt;/li>
&lt;li>&lt;a href="http://www.testingmentor.com/imtesty/2012/06/11/sleepy-automated-tests/">Sleepy Automated Tests&lt;/a> talks about polling loops. I like the use of the phrase &lt;em>periodic comatose states&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://randonom.com/blog/2012/04/wait-using-selenium-web-driver-with-jquery-animations/">Wait! Using Selenium Web Driver with jQuery animations&lt;/a> could be something you want to stash into your base classes if you are using JQuery&lt;/li>
&lt;li>If you are using Robot Framework, &lt;a href="https://github.com/peritus/robotframework-httplibrary">robotframework-httplibrary&lt;/a> and &lt;a href="https://github.com/bulkan/robotframework-requests">robotframework-requests&lt;/a> could be of interest to do all the things on your site that don’t need a browser to actually be involved&lt;/li>
&lt;li>I wonder a) how long it will take them to decide on what HTTP2 looks like, b) how long the conversion will take? (IPv6 anyone?) See the &lt;a href="http://trac.tools.ietf.org/wg/httpbis/trac/wiki/Http2Proposals">HTTP2 Proposals&lt;/a> to see what the next progression of the web’s transport layer could look like&lt;/li>
&lt;li>Driving your iOS app from CoffeeScript? Sure! &lt;a href="http://bendyworks.com/geekville/lab_projects/2012/4/introducing-bwoken">Introducing Bwoken&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.agiletestware.com/selenium-qc-nunit/">Selenium and Quality Center Integration using NUnit&lt;/a> could be valuable for .NET shops wanting to integrate things with QC. Though looking at the arrows the scripts are still run from VS — there is money to be made running them from QC and not just using it as a result repo.&lt;/li>
&lt;li>&lt;a href="http://www.flickr.com/photos/raindrift/sets/72157629492908038/with/7095238893/">PHP Hammer&lt;/a> is just about the best response to snark ever&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #85</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-85/</link><pubDate>Tue, 12 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-85/</guid><description>&lt;p>Two days in a row! Take that doubters!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.informit.com/articles/article.aspx?p=1874863">Automated Software Testing: An Example of a Working Solution&lt;/a> is an interesting take on designing an automation system for the US DoD. It sure as heck isn’t how I would do it, but I can understand how this context might lead to this solution. And it seems like it is Eclipse based which is even worse a decision. 🙂&lt;/li>
&lt;li>&lt;a href="http://www.devto.ca/2012/05/5-tips-on-finding-a-mobile-job-in-toronto/">5 Tips on Finding a Mobile Job in Toronto&lt;/a> is pretty focused, but also applies to non-mobile jobs outside of Toronto.&lt;/li>
&lt;li>&lt;a href="http://speakerdeck.com/u/jaffathecake/p/application-cache-douchebag">Application Cache: Douchebag&lt;/a> is another one of those things you need to grok if you are going to automate HTML5 goodies&lt;/li>
&lt;li>Before you run your automation against an Android app, you might want to run &lt;a href="http://tools.android.com/tips/lint">Android Lint&lt;/a> against it.&lt;/li>
&lt;li>&lt;a href="https://github.com/sebv/node-wd-sync">wd-sync&lt;/a> is a synchronous version of the &lt;a href="https://github.com/admc/wd">wd&lt;/a> javascript bindings.&lt;/li>
&lt;li>&lt;a href="https://github.com/alp82/abmash">Abmash&lt;/a> aims to deal with the element location problem only using the visible cues a user could see. In my experience, this leads to scripts that work fine — until you need to deal with multiple languages at which point it falls on its face. Hard. But…&lt;/li>
&lt;li>&lt;a href="http://python3porting.com/improving.html">Improving your code with modern idioms&lt;/a> is Python focused and is something I need to keep open whenever I write new code…&lt;/li>
&lt;li>More on Jasmine – &lt;a href="https://speakerdeck.com/u/searls/p/confidencejs">Confidence.js&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.clockwise.ee/gasmask/">Gas Mask&lt;/a> seems like it would be pretty cool. There are of course some bugs, and the project seems rather dormant. Oh. And writing Objective C is a pain… but I really want something like this!&lt;/li>
&lt;li>&lt;a href="http://blog.carlossanchez.eu/2012/05/03/automatically-download-and-install-virtualbox-guest-additions-in-vagrant/">Automatically download and install VirtualBox guest additions in Vagrant&lt;/a>. Yup. That’s what it does.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #84</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-84/</link><pubDate>Mon, 11 Jun 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-84/</guid><description>&lt;p>What? Its only been 3 months since the last one. Sheesh.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Sorry about being a G+ article, but &lt;a href="https://plus.google.com/116910304844117268718/posts/UkaymyuTzaF">DOM Ready&lt;/a> discusses briefly about how to build your page in terms of order of events. Of course, if you read the comments it is very much buyer beware, but…&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I’ve been fixating a bit on operational dashboards the last little while and &lt;a href="http://blogs.splunk.com/2012/06/07/splunkx-enterprise-operational-intelligence/">Enterprise Operational Intelligence&lt;/a> has a couple good ones&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Looking to use BrowserID? There’s a &lt;a href="https://github.com/davehunt/bidpom">Page Object&lt;/a> for that.&lt;/p></description></item><item><title>A Smattering of Selenium #83</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-83/</link><pubDate>Wed, 14 Mar 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-83/</guid><description>&lt;p>Well, might not be in Florida, but how about them juggernaut Blue Jays?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://mguillem.wordpress.com/2011/10/11/webdriver-capture-js-errors-while-running-tests/">WebDriver: capture JS errors while running tests&lt;/a> is a JS way of capturing JS errors on a page&lt;/li>
&lt;li>&lt;a href="http://www.deepshiftlabs.com/sel_blog/?p=1840&amp;amp;lang=en-us">Selenium reports – our take&lt;/a> is a pretty detailed report on one company’s drive for prettier report output&lt;/li>
&lt;li>Hmmm. How do we get a Selenium &lt;a href="http://coderwall.com/achievements">coderwall achievement&lt;/a>?&lt;/li>
&lt;li>&lt;a href="https://github.com/iainrose/page-objects">page-objects&lt;/a> is &lt;em>A basic framework for running automated tests using WebDriver, TestNG &amp;amp; Gradle&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://github.com/DBC-as/selenese-runner">selenese-runner&lt;/a> is a js runner of Selenese scripts including a JUnit style reporter. Could be a baby-step towards getting Selenese stuff into a CI server&lt;/li>
&lt;li>I wonder how much time can be shaved off the average suite by implementing HTTP Compression correctly; &lt;a href="http://zoompf.com/blog/2012/02/lose-the-wait-http-compression">Lose the Wait: HTTP Compression&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.lesspainful.com/">LessPainful&lt;/a> looks interesting for mobile stuff. It uses a Cucumber variant so might have Se under the hood there somewhere.&lt;/li>
&lt;li>What? You don’t read Etsy’s ‘Code As Craft’? Here is a good starting point; &lt;a href="http://codeascraft.etsy.com/2012/02/13/the-etsy-way/">The Etsy Way&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://highgroove.com/articles/2012/02/07/red%2C-green%2C-refactor---the-tools-for-success.html">red, green, refactor – the tools for success&lt;/a> shows just how large the toolchain can become. Oh. And step six is critical.&lt;/li>
&lt;li>And remember kids, &lt;a href="http://www.dilbert.com/2012-02-11/">there’s no kill switch on awesome&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #82</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-82/</link><pubDate>Tue, 13 Mar 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-82/</guid><description>&lt;p>Someone explain to me why I’m in Toronto and not Florida?&lt;/p>
&lt;ul>
&lt;li>Couldn’t make it to Pycon last week? There &lt;a href="http://pyvideo.org/category/17/pycon-us-2012">are videos&lt;/a> of the session!&lt;/li>
&lt;li>&lt;a href="http://www.impressivewebs.com/release-history-major-browsers/">Release Histories for all Major Browsers&lt;/a> is just interesting from a historical perspective&lt;/li>
&lt;li>&lt;a href="http://www.jimmycollins.org/blog/?p=583">Interacting with web pages using Selenium WebDriver for C#&lt;/a> is pretty basic but does include the all-important security settings to make IE behave-ish&lt;/li>
&lt;li>&lt;a href="http://www.cheezyworld.com/2012/02/23/page-object-0-6-2-released/">page-object 0.6.2 released&lt;/a> is not just a release announcement but has some nice examples of page objects in ruby&lt;/li>
&lt;li>&lt;a href="https://github.com/kennethreitz/autoenv">autoenv&lt;/a> is a magic hack for having auto-firing scripts at a directory level. Gotta love projects that advertise as being pretentious&lt;/li>
&lt;li>&lt;a href="http://www.informit.com/articles/printerfriendly.aspx?p=1833567">Four Principles of Low-Risk Software Releases&lt;/a> is important.&lt;/li>
&lt;li>&lt;a href="http://www.pcmag.com/article2/0,2817,2400346,00.asp">Microsoft Details Its Browser Performance Testing&lt;/a> is good if only for the photos of their lab&lt;/li>
&lt;li>&lt;a href="http://www.tomdupont.net/2012/02/sharing-webdriver-across-testfixtures.html">Sharing a WebDriver across TestFixtures&lt;/a> seems like a bad idea, but solves his specific problem. (Could it be solved with a specified profile rather than a fresh one every time?)&lt;/li>
&lt;li>&lt;a href="http://www.tomdupont.net/2012/02/browser-specific-testfixtures-sharing.html">Browser Specific TestFixtures Sharing Tests&lt;/a> is from the same person as above and shows how to abstract different browsers from the script by moving the browser choice up to the suite level. Not sure how this would scale though…&lt;/li>
&lt;li>I would really like to see less ‘howto’ blog posts that repeat the same basic information and more experience reports like &lt;a href="http://chrismcmahonsblog.blogspot.com/2012/02/deja-vu-code-culture-and-qa.html">deja vu: code, culture, and QA&lt;/a>. Oh, and it serves as a nice reminder that automation is more than just regression; its about producing information that starts conversations&lt;/li>
&lt;li>&lt;a href="http://www.intexsoft.com/blog/item/34-selenium-webdriver-page-object-pattern-and-pagefactory.html">Page Object Pattern and PageFactory&lt;/a> doesn’t look too bad — aside from not having a code formatting plugin in their blog&lt;/li>
&lt;li>You never know when &lt;a href="http://www.theautomatedtester.co.uk/blog/2012/using-travis-ci-for-building-and-testing-firefox-addons.html">Using Travis CI for building and testing Firefox addons&lt;/a> will be useful&lt;/li>
&lt;li>&lt;a href="https://github.com/jfirebaugh/capybara-firebug">capybara-firebug&lt;/a> is a &lt;em>a dead-simple way to run Capybara-based Cucumber scenarios or RSpec request specs with Firebug enabled under the selenium driver&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://github.com/ExtractMethod/prickle">prickle&lt;/a> looks like it is implicit waits for capybara&lt;/li>
&lt;li>&lt;a href="http://screencasts.org/episodes/how-to-use-rvm">How to Use RVM&lt;/a> is a screencast on, erm, well, how to use rvm&lt;/li>
&lt;li>Of course, if you are on Windows then rvm won’t work for you. You need &lt;a href="https://github.com/vertiginous/pik">pik&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://tutorialzine.com/2011/11/lets-write-some-tests-testify-php/">Testify&lt;/a> is a microtesting framework for PHP that is trying to make their script JS-like&lt;/li>
&lt;li>&lt;a href="http://www.rubyfleebie.com/every-little-things-capistrano-does-is-magic/">Every Little Things Capistrano Does Is Magic&lt;/a> aside from making my have a Police song rattle through my brain explains &lt;em>some of the not so obvious parts of capistrano&lt;/em>&lt;/li>
&lt;li>It has been far too long since I made a pirate reference here, so &lt;a href="http://www.fastcodesign.com/1665840/an-hr-lesson-from-steve-jobs-if-you-want-change-agents-hire-pirates">An HR Lesson From Steve Jobs: If You Want Change Agents, Hire Pirates&lt;/a>. I should have named my company ‘International Automation Pirates’. Ah hindsight.&lt;/li>
&lt;li>&lt;a href="https://github.com/mguillem/JSErrorCollector">JSErrorCollector&lt;/a> solves for Firefox something I think is missing from Se — which is the collection of JS error messages from the browser. (And it is missing from it for a reason; browsers don’t always expose it. Maybe we can get that into the W3C spec…)&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #81</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-81/</link><pubDate>Mon, 12 Mar 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-81/</guid><description>&lt;p>Its March Break (at least here) which means its also Catch Up Week. An extra long Smattering every day!&lt;/p>
&lt;ul>
&lt;li>Generally I reccomend to people not to automate file uploads, but sometimes they are unavoidable. &lt;a href="http://saucelabs.com/blog/index.php/2012/03/selenium-tips-uploading-files-in-remote-webdriver/">Selenium Tips: Uploading Files in Remote WebDriver&lt;/a> explains how one might go about things in WebDriver&lt;/li>
&lt;li>&lt;a href="http://www.flickr.com/photos/girliemac/sets/72157628409467125/">HTTP Status Cats&lt;/a> isn’t new, but is still funny.&lt;/li>
&lt;li>&lt;a href="http://httpstatus.es/">httpstatus.es&lt;/a> has the same information, but organized slightly differently. Now for someone to make a mashup of the two&lt;/li>
&lt;li>&lt;a href="https://github.com/coypu/coypu">Coypu&lt;/a> appears to be a .NET wrapper around WebDriver&lt;/li>
&lt;li>From this year’s CodeMash, &lt;a href="http://www.infoq.com/presentations/Continuous-Integration-in-the-Mobile-World">Continuous Integration in the Mobile World&lt;/a>&lt;/li>
&lt;li>Like rake but like Python more? Now you can use &lt;a href="https://github.com/seomoz/shovel">shovel&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/jennifersmith/plasma">Plasma&lt;/a> is another C# framework that has WebDriver-ness in it for automating ASP.NET apps&lt;/li>
&lt;li>&lt;a href="https://github.com/highgroove/zonebie">Zonebie&lt;/a> is a gem that can inject different timezones into your scripts to see if they are sensitive to that sort of thing.&lt;/li>
&lt;li>&lt;a href="http://davenicolette.wordpress.com/2012/03/05/tool-mania/">Tool mania&lt;/a> is a useful reminder that sometimes Se can be a wrench.&lt;/li>
&lt;li>What’s your team’s &lt;a href="http://jayflowers.com/WordPress/?p=232">Precommit Process&lt;/a>?&lt;/li>
&lt;li>&lt;a href="http://www.diaryofaninja.com/blog/2012/03/03/devops-dns-for-developers-ndash-now-therersquos-no-excuse-not-to-know">DevOps DNS for Developers – Now There’s No Excuse Not To Know&lt;/a> because there is now no excuse not to know&lt;/li>
&lt;li>&lt;a href="http://tomerfiliba.com/blog/Toying-with-Context-Managers/">Toying with Context Managers&lt;/a> explains this bit of Python syntax sugar&lt;/li>
&lt;li>If you are looking to raise the ire of the Se devs, &lt;a href="http://openradar.appspot.com/10597149">Xcode just doesn’t work worth shit&lt;/a> is a good example. Not that I recommend it. But yes, I did laugh when reading it.&lt;/li>
&lt;li>Does your app have a REST API? Do you test it using Se? Stop! Its not the right tool. Once you understand REST you’ll see why and &lt;a href="http://blog.mugunthkumar.com/articles/restful-api-server-doing-it-the-right-way-part-1/">RESTful API Server – Doing it the right way (Part 1)&lt;/a> does a decent job explaining things.&lt;/li>
&lt;li>&lt;a href="http://blog.cachefly.com/2012/02/15/understanding-traceroute/">(Really Really) Understanding traceroute&lt;/a> is one of those everyday tools that people think they understand, but often don’t.&lt;/li>
&lt;li>&lt;a href="http://weblog.muledesign.com/2012/02/no_wrong_answers_questions_for.php">No Wrong Answers: Questions for Pre‑Clients&lt;/a> apply just as much for automation projects&lt;/li>
&lt;li>&lt;a href="http://coding.smashingmagazine.com/2012/02/22/web-drawing-throwdown-paper-processing-raphael/">Web-Drawing Throwdown: Paper.js Vs. Processing.js Vs. Raphael&lt;/a> illustrates these three canvas libraries. Now, who is going to produce the demo Se scripts to interact with these. Canvas is coming and its kinda scary.&lt;/li>
&lt;li>&lt;a href="http://www.adathedev.co.uk/2012/02/automating-web-performance-stats.html">Automating Web Performance Stats Collection in .NET&lt;/a> talks about the BrowserMobProxy with .NET&lt;/li>
&lt;li>&lt;a href="http://sharats.me/serializing-python-requests-session-objects-for-fun-and-profit.htm">Serializing python-requests’ Session objects for fun and profit&lt;/a> is a bit of code spelunking and a useful bit of code as well.&lt;/li>
&lt;li>&lt;a href="http://readthedocs.org/docs/ncoghlan_devs-python-notes/en/latest/py3k_text_file_processing.html">Processing Text Files in Python 3&lt;/a> is going to be more and more important whether we are ready or not.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #80</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-80/</link><pubDate>Wed, 08 Feb 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-80/</guid><description>&lt;p>I should have learned not to boast about getting caught up with links.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blargon7.com/2012/02/automating-browserid-with-selenium/">Automating BrowserID with Selenium&lt;/a> is pretty awesome. (As is BrowserID.) Now if this was only installable via pip or easy_install…&lt;/li>
&lt;li>&lt;a href="http://rubyreloaded.com/trickshots/">Ruby Trick Shots&lt;/a> – heed the disclaimer; &lt;em>not an exercise in Ruby best practices&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://devblog.xing.com/qa/keep-it-functional-iphone-test-automation/">Keep It Functional – iPhone Test Automation&lt;/a> talks about another automation framework for mobile. At some point Selenium is going to grow Objective-C bindings I fear.&lt;/li>
&lt;li>Requests for Python is fantastic. &lt;a href="http://requests.ryanmccue.info/">Requests for PHP&lt;/a> looks to be equally so. (I suspect my &lt;a href="http://element34.ca/blog/introducing-phpwebdriver">php webdriver bindings&lt;/a> are about to become a much larger fork of the Facebook ones.)&lt;/li>
&lt;li>&lt;a href="http://test.techwell.com/articles/membersub/test-automation-project">Is Test Automation a “Project”?&lt;/a> – hint: it’s not.&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2012/01/sfse-meetup-video-keeping-selenium-tests-100-blue/">Keeping Selenium Tests 100% Blue&lt;/a> is a video of January’s SFSE. And &lt;a href="http://blog.testyredhead.com/2012/01/31/selenium-meetup-west-coast-style.aspx">Selenium Meetup West Coast Style&lt;/a> is a rebuttal.&lt;/li>
&lt;li>&lt;a href="http://4cupsr.us/blog/2012/1/8/seleniums-sweet-spot-preventing-catastrophes.html">Selenium’s Sweet Spot: Preventing Catastrophes&lt;/a> shows that there are still people who do not watch for Black Swans. Automation does not prevent catastrophes. Well, at least ones that you are not looking for already.&lt;/li>
&lt;li>&lt;a href="http://blog.cloudspokes.com/2012/01/automate-salesforce-administrative.html">Automate Salesforce Administrative Tasks with Selenium&lt;/a> has the results of the contest they ran.&lt;/li>
&lt;li>&lt;a href="http://robert.arles.us/node/150">ErrorList object for use in TestNG/Selenium testing&lt;/a> is a soft-assert implementation&lt;/li>
&lt;li>&lt;a href="http://gazit.me/2012/02/01/iterations.html">Iterations&lt;/a> has an outstanding time-lapse of how the Pycon US logo was designed. Someone should do this scripting out a website.&lt;/li>
&lt;/ul>
&lt;p>And my post that I’m going to link against is a bit of a rant around &lt;a href="http://element34.ca/blog/how-to-choose-selenium-training">how to choose selenium training&lt;/a>. Though it has also been pointed out that a lot it applies outside the scope of Selenium as well.&lt;/p></description></item><item><title>A Smattering of Selenium #79</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-79/</link><pubDate>Thu, 02 Feb 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-79/</guid><description>&lt;p>The only links left now are ones currently open in tabs right now. Hurray!&lt;/p>
&lt;ul>
&lt;li>November’s SFSE was Continuous Deployment At Mozilla: &lt;a href="http://www.slideshare.net/MattBrandt/mozilla-continuous-deploment-on-sumo">slides&lt;/a>, &lt;a href="http://www.youtube.com/watch?v=usqxFxsmg4o&amp;amp;feature=youtu.be">video&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://zhimin.com/en/books/pwta">Practical Web Test Automation&lt;/a> is a book available in both a free and paid editions. I haven’t looked at it so can’t comment how good or bad it is.&lt;/li>
&lt;li>&lt;a href="http://www.toolsjournal.com/testing-articles/item/340-the-why-what-and-how-of-software-test-automation">The Why, What and How of Software Test Automation&lt;/a> isn’t too horrible, though I don’t like the word ‘guideline’ and of course the measurement section at the bottom is complete hokum.&lt;/li>
&lt;li>&lt;a href="http://osxdaily.com/2011/09/04/internet-explorer-for-mac-ie7-ie8-ie-9-free/">Internet Explorer for Mac the Easy Way: Run IE 7, IE8, &amp;amp; IE9 Free in a Virtual Machine&lt;/a> seems a bit sketchy in terms of license legality, but…&lt;/li>
&lt;li>&lt;a href="https://bitbucket.org/frennky/pagemapper">PageMapper&lt;/a> is a bit of template magic to create Page Objects&lt;/li>
&lt;li>&lt;a href="http://webconsistencytesting.com/">Web Consistency Testing&lt;/a> is starting to push what can [should] be done with Selenium&lt;/li>
&lt;li>&lt;a href="https://plus.google.com/u/0/104920553571646483561/posts/fmyZi1MxMgo">Taking Automated Tests Off The Pedestal&lt;/a> erm, takes automation off its pedestal&lt;/li>
&lt;li>&lt;a href="http://blog.carbonfive.com/2012/01/23/monkey-patching-ios-with-objective-c-categories-part-1-simple-extensions-and-overrides/">Monkey-Patching iOS with Objective-C Categories Part I: Simple Extensions and Overrides&lt;/a> is a technique I haven’t seen before.&lt;/li>
&lt;li>&lt;a href="http://sebastian-bergmann.de/archives/919-A-Tools-Tale.html">A Tool’s Tale&lt;/a> would be better with Sebastian in front of it, but is still useful as a standalone deck.&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/">Introducing the software testing ice-cream cone&lt;/a> – Dangit! Now I want ice cream.&lt;/li>
&lt;/ul>
&lt;p>And my post this edition is &lt;a href="http://element34.ca/blog/webdriver-and-meta-tags">WebDriver and Meta Tags&lt;/a>.&lt;/p></description></item><item><title>A Smattering of Selenium #78</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-78/</link><pubDate>Wed, 01 Feb 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-78/</guid><description>&lt;p>Look! A light at the end of the tunnel!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://stephenwalther.com/blog/archive/2011/12/22/asp-net-mvc-selenium-iisexpress.aspx">ASP.NET MVC + Selenium + IISExpress&lt;/a> – You don’t see too many Windows how-to’s. Not sure if they just don’t get tweeted about or is more a sign of that community.&lt;/li>
&lt;li>&lt;a href="http://journal.paul.querna.org/articles/2011/12/26/log-for-machines-in-json/">Write Logs for Machines, use JSON&lt;/a> is a nice idea. I wonder if (when) the major CI containers will land on a pseudo-standard for consuming JSON&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/1508946">Remote File Upload using Selenium 2’s FileDetectors&lt;/a> shows yet another area I need to figure out in WebDriver (not Selenium 2 as Santi so stubbornly referred to it as 🙂&lt;/li>
&lt;li>&lt;a href="https://github.com/github/janky">Janky&lt;/a> is GitHub’s CI server. Seems like this is the current cool route; that is, implementing your own rather than building off of one of the major existing ones. Which I suppose makes sense.&lt;/li>
&lt;li>&lt;a href="http://blog.thecodewhisperer.com/2011/12/20/from-dependent-tests-to-independent-tests-to-independent-assertions/">From Dependent Tests to Independent Tests to Independent Assertions&lt;/a> has a nice refactoring trick to clean-up your scripts&lt;/li>
&lt;li>I’ve posted how to inject Sizzle into your WebDriver scripts at least once, and here is another time. &lt;a href="http://selenium.polteq.com/injecting-the-sizzle-css-selector-library/">Injecting the Sizzle CSS selector library&lt;/a>&lt;/li>
&lt;li>And if Sizzle isn’t your thing, WebDriver Plus has JQuery-esque DOM &lt;a href="http://webdriverplus.org/en/latest/traversing.html">Traversing&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-December/001528.html">Important notice regarding Java packages in Partner archive&lt;/a> is something to keep in mind if you want to run the Selenium Server on Ubuntu&lt;/li>
&lt;li>Looks like ShingingPanda is the Python equivalent of CloudBees, and has instructions on how to get Selenium running on it in &lt;a href="http://blog.shiningpanda.com/2011/11/shiningpanda-is-selenium-ready.html">ShiningPanda is Selenium ready!&lt;/a>&lt;/li>
&lt;li>Articles that lead in with &lt;em>Boy. That was a headache.&lt;/em> are usually good ones to link to. &lt;a href="http://shizen008.wordpress.com/2011/12/13/webdriver-webdriver-and-more-web-driver">WebDriver, Webdriver, and more web driver.&lt;/a> This one is about the WebDriver iOS driver.&lt;/li>
&lt;/ul>
&lt;p>And today’s post of mine is &lt;a href="http://element34.ca/blog/webdriver-and-cookies">WebDriver and Cookies&lt;/a> which explains how, well, cookies and webdriver play together.&lt;/p></description></item><item><title>A Smattering of Selenium #77</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-77/</link><pubDate>Tue, 31 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-77/</guid><description>&lt;p>No. Really. A Smattering every day this week and I’ll have the link queue cleared.&lt;/p>
&lt;p>Go!&lt;/p>
&lt;ul>
&lt;li>Mentioned in #74, &lt;a href="http://www.theautomatedtester.co.uk/blog/2012/automating-web-performance-data-collection-with-browsermob-proxy-and-selenium.html">Automating Web Performance data collection with BrowserMob Proxy and Selenium&lt;/a> is more than just a link to GitHub&lt;/li>
&lt;li>Of course you are using the excellent Requests module rather than urllib2 which ships with Python; but are you using &lt;a href="https://github.com/kennethreitz/envoy">envoy&lt;/a> instead of subprocess?&lt;/li>
&lt;li>&lt;a href="http://blogs.steeplesoft.com/2012/01/grabbing-screenshots-of-failed-selenium-tests/">Grabbing Screenshots of Failed Selenium Tests&lt;/a> uses some JUnit magic. Also, gotta love articles that end in &lt;em>How easy was that?!&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://www.rackspace.com/cloud/blog/2012/01/05/rackspace-open-sources-dreadnot/">Rackspace Open Sources Dreadnot&lt;/a> – Aside from an excellent name, its based on &lt;a href="https://github.com/etsy/deployinator">Deployinator&lt;/a> which is pretty darn cool and I saw in action the other week&lt;/li>
&lt;li>&lt;a href="http://twitter.com/#!/thinkJD/status/155303500312625152/photo/1/large">Geeks and Repetitive Tasks&lt;/a>. Umm. Yup.&lt;/li>
&lt;li>&lt;a href="http://coreygoldberg.blogspot.com/2012/01/officially-introducing-sst-python-web.html">Officially Introducing “SST”&lt;/a> that this link is here is evidence that I should go through the queue from the top of the list. There was a screencast on SST in #75.&lt;/li>
&lt;li>&lt;a href="http://www.agileengineeringdesign.com/2012/01/7-deadly-sins-of-automated-software-testing/">7 Deadly Sins of Automated Software Testing&lt;/a> – nice article and as someone who has done linocut before, that’s an impressive print that is featured.&lt;/li>
&lt;li>&lt;a href="http://blog.shiningpanda.com/2011/12/introducing-selenose.html">Introducing Selenose&lt;/a> is a Selenium plugin for Nose&lt;/li>
&lt;li>Two useful Firefox plugins I stumbled on are &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/firepath/">FirePath&lt;/a> and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/firecookie/">Firecookie&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://neopythonic.blogspot.com/2008/10/sorting-million-32-bit-integers-in-2mb.html">Sorting a million 32-bit integers in 2MB of RAM using Python&lt;/a> is this edition’s geeky investigation&lt;/li>
&lt;/ul>
&lt;p>One thing I have done in these Smatterings is to not link to my own stuff, but am going to start linking to an article or two at the bottom of the Smatterings (unless there is general community backlash against the idea).&lt;/p></description></item><item><title>A Smattering of Selenium #76</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-76/</link><pubDate>Wed, 25 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-76/</guid><description>&lt;p>Post ten links, find seven more to add to the queue.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.devguli.com/blog/eng/selenium-page-objects-and-abstraction/">Selenium Page Objects and Abstraction&lt;/a> is one person’s attempt at writing down how they describe POs&lt;/li>
&lt;li>&lt;a href="http://fbflex.wordpress.com/2012/01/18/running-geb-specs-using-a-separate-driver-profile-to-test-mobile-views-in-grails/">Running Geb specs using a separate driver profile to test mobile views in Grails&lt;/a> shows how to create a custom Firefox profile in WebDriver&lt;/li>
&lt;li>&lt;a href="http://www.xairon.net/2012/01/django-and-selenium-on-jenkinshudson-headless/">Django and Selenium on Jenkins/Hudson (Headless)&lt;/a> is yet another tutorial around xvfb but has a trick at the end I don’t think I’ve seen&lt;/li>
&lt;li>&lt;a href="http://www.dalkescientific.com/writings/diary/archive/2012/01/19/concurrent.futures.html">Python’s concurrent.futures&lt;/a> is today’s analysis of building a script&lt;/li>
&lt;li>&lt;a href="http://www.tbray.org/ongoing/When/201x/2012/01/22/Confusing-Browser">Browser Sedimentation&lt;/a> has an outstanding diagram of whats what in a browser. I know I’ll be referring back to it.&lt;/li>
&lt;li>&lt;a href="http://airbrake.io/pages/home">Airbrake&lt;/a> seems like it would be useful — especially once you start parallelizing execution across instances&lt;/li>
&lt;li>&lt;a href="http://test.techwell.com/comment/reply/119241">Whole-team Test Automation: Making the Move&lt;/a> &lt;em>offers some tips for implementing it on your team&lt;/em> — at least according to the blurb at the top&lt;/li>
&lt;li>Hey look! &lt;em>Another&lt;/em> xvfb think. Can we please just put this into the Se docs already?&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/DL7gyuqkzzU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="http://danzorx.tumblr.com/post/15330968896/selenium-webdriver-perl-and-saucelabs">Selenium Webdriver, Perl, and Saucelabs&lt;/a> also acts as a sample for the (a) Perl WebDriver binding too&lt;/li>
&lt;li>&lt;a href="http://www.kitchensoap.com/2012/01/05/convincing-management-that-cooperation-and-collaboration-was-worth-it/">Convincing management that cooperation and collaboration was worth it&lt;/a> – dark launches, config flags, oh my.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #75</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-75/</link><pubDate>Mon, 23 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-75/</guid><description>&lt;p>And home. Which mean 100% more internets! Or at least 98% more.&lt;/p>
&lt;ul>
&lt;li>As things like native-driver become more prevalent, knowing how to do &lt;a href="http://blog.codecentric.de/en/2012/01/continuous-integration-for-ios-projects-with-jenkins-ci/">Continuous Integration for iOS projects with Jenkins CI&lt;/a> will become more important&lt;/li>
&lt;li>&lt;a href="http://chocolatey.org/">Chocolatey&lt;/a> seems like a nice and big step towards managing Windows build slaves&lt;/li>
&lt;li>SST (Selenium Simple Test) comes out of Ubuntu and has a quick introductory screencast.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/qGPostUOAEI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="http://www.cloudspokes.com/challenges/1353">Automate Salesforce Config Changes with Selenium&lt;/a> is a contest. But only for Java so I have no interest in it. Submissions are due in two days. Could be fun.&lt;/li>
&lt;li>&lt;a href="http://cssify.appspot.com/">cssify&lt;/a> is a great little app for converting xpath to css. Now to see what sorts of devious xpath we can put in and blow Santi’s mind with bug reports. 🙂&lt;/li>
&lt;li>&lt;a href="http://blogs.atlassian.com/2012/01/continuous-delivery-with-bamboo-stages/">Continuous Delivery with Bamboo Stages&lt;/a> – I normally call these ‘chains’ but nicely shows how to chunk the march to production. It also cracks me up that the corporate twitter feed has &lt;a href="http://twitter.com/#!/brittpwalker/status/160520765832314881/photo/1">the upgraded beer cart&lt;/a> photo in the sidebar right now.&lt;/li>
&lt;li>One talk I skipped at Codemash the other week was on Apple’s &lt;a href="http://developer.apple.com/library/ios/#documentation/DeveloperTools/Reference/UIAutomationRef/_index.html%23//apple_ref/doc/uid/TP40009771">UI Automation&lt;/a> stuff. I suspect this is the low-level implementation of things like native-driver which is valuable to have at ones fingertips.&lt;/li>
&lt;li>While not automation related directly, if you are automating Android stuff you should also be looking at the &lt;a href="http://developer.android.com/design/index.html">Android Design&lt;/a> site to understand the idioms and such that the platform thinks you should be using&lt;/li>
&lt;li>&lt;a href="http://37signals.com/svn/posts/2742-the-road-to-faster-tests">The road to faster tests&lt;/a> is a fantastic write-up of an investigation into why their scripts were so slow. I’ve been doing this a lot recently. Well, investigating slowness at least.&lt;/li>
&lt;li>I actually got the above link from &lt;a href="http://engineering.socialcast.com/2012/01/how-we-reduced-our-test-runtimes/">How We Reduced Our Rails Test Runtimes By 10x&lt;/a> which is an even larger investigation write-up.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #74</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-74/</link><pubDate>Wed, 18 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-74/</guid><description>&lt;p>It is kinda hard to do these without reliable internet… dear hotels, fix. your. internet.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.pamelafox.org/2012/01/testing-facebook-login-with-selenium.html">Testing Facebook Login with Selenium&lt;/a> has some nice Python helpers to dealing with Facebook auth&lt;/li>
&lt;li>&lt;a href="http://htejera.users.sourceforge.net/vbswebdriver/index.html">VBS WebDriver&lt;/a> – ummm, wtf?!&lt;/li>
&lt;li>&lt;a href="http://oss.theautomatedtester.co.uk/browsermob-proxy-py/">Python Browsermob Proxy Library&lt;/a> – the best code is code you don’t have to write yourself. (Thanks David!)&lt;/li>
&lt;li>I saw &lt;a href="http://mike.pirnat.com/2012/01/13/a-few-of-my-favorite-python-things/">A Few of My Favorite (Python) Things&lt;/a> at CodeMash last week and learned a few things&lt;/li>
&lt;li>&lt;a href="http://www.rajivnarula.com/blog/2012/01/12/def-test-new-bddmadeeasyseleniumeasybgroovy/">def test = new BDDMadeEasy(Selenium,EasyB,Groovy)&lt;/a> is a writeup from a recent presenter at the Greater Boston Selenium User Group&lt;/li>
&lt;li>&lt;a href="http://blog.testingbot.com/2012/01/11/receive-sms-alerts-when-a-selenium-test-fails">Receive SMS alerts when a Selenium test fails&lt;/a> seems like both a good idea and a bad one at the same time&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2012/01/16/have-you-always-wanted-to-automate-minesweeper/">Have you always wanted to automate minesweeper?&lt;/a> is such a good contest. We need more of these.&lt;/li>
&lt;li>&lt;a href="http://www.html5rocks.com/en/tutorials/doodles/lem">Case Study: Building the Stanisław Lem Google doodle&lt;/a> is interesting. And likely useful for others doing JS heavy stuff&lt;/li>
&lt;li>&lt;a href="http://java.dzone.com/articles/neater-way-use-reflection-java">A neater way to use reflection in Java&lt;/a> seems trick to me. Or might be utter hackery to someone who actually knows Java&lt;/li>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2012/the-beginning-of-a-standard-for-browser-automation.html">The beginning of a standard for browser automation&lt;/a> makes me have &lt;a href="http://www.youtube.com/watch?v=F0FBi5Rv1ho">this song&lt;/a> in my head&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #73</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-73/</link><pubDate>Thu, 05 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-73/</guid><description>&lt;ul>
&lt;li>
&lt;p>Two Ruby gems&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://rubygems.org/gems/rwebspec-webdriver">rwebspec-webdriver&lt;/a> – Executable functional specification for web applications in RSpec syntax and Selenium-WebDriver&lt;/li>
&lt;li>&lt;a href="http://rubygems.org/gems/loadable_component">loadable_component&lt;/a> – Ruby implementation of &lt;a href="http://code.google.com/p/selenium/wiki/LoadableComponent">LoadableComponent&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>A three-parter on building a framework showing there is more than one way to skin the framework cat.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2011/11/selenium-testing-framework-pt-1-testing-concepts/">Testing Concepts&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2011/11/selenium-testing-framework-pt-2-base-classes/">Base Classes&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2011/12/selenium-testing-framework-part-3-putting-it-all-together/">Putting it all together&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Another three-parter on &lt;em>Is the Cost of Continuous Integration Worth the Value on Your Program?&lt;/em> – &lt;a href="http://www.jrothman.com/blog/mpd/2011/12/is-the-cost-of-continuous-integration-worth-the-value-on-your-program-part-1.html">part 1&lt;/a>, &lt;a href="http://www.jrothman.com/blog/mpd/2011/12/is-the-cost-of-continuous-integration-worth-the-value-on-your-program-part-2.html">part 2&lt;/a>, &lt;a href="http://www.jrothman.com/blog/mpd/2011/12/is-the-cost-of-continuous-integration-worth-the-value-on-your-program-part-3.html">part 3&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://frazzleddad.blogspot.com/2011/12/31-days-of-testing-kickoff.html">31 Days of Testing&lt;/a> – in 23 parts (though I expect the series will finish after &lt;a href="http://www.codemash.org">CodeMash&lt;/a>)&lt;/p></description></item><item><title>A Smattering of Selenium #72</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-72/</link><pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2012/a-smattering-of-selenium-72/</guid><description>&lt;p>January means its time to escape from under the deadlines I found myself under during December so some of this stuff is a month old (or older!). Hopefully it is still interesting though.&lt;/p>
&lt;ul>
&lt;li>Localizing automation well is something I’ve seen people struggle with. &lt;a href="http://devzone.zend.com/1859/creating-multi-language-web-applications-with-zend_translate/">Creating Multi-Language Web Applications with Zend_Translate&lt;/a> is a possible solution for PHP folks.&lt;/li>
&lt;li>&lt;a href="http://wesgibbs.me/post/12036950233/using-spinach-with-selenium">Using Spinach with Selenium&lt;/a> and of course Spinach seems to be a different implementation of Cucumber. (And yes, I’m sure that’s a great oversimplification.)&lt;/li>
&lt;li>&lt;a href="http://android-developers.blogspot.com/2011/10/introducing-android-webdriver.html">Introducing Android WebDriver&lt;/a> more or less made the selenium search I have for twitter useless for a day-and-a-half with all the retweets.&lt;/li>
&lt;li>&lt;a href="http://deanhume.com/Home/BlogPost/selenium-webdriver---wait-for-an-element-to-load/64">Selenium Webdriver – Wait for an element to load&lt;/a> shows the difference between an explicit and implicit wait&lt;/li>
&lt;li>&lt;a href="http://www.javacodegeeks.com/2011/10/testing-gwt-apps-with-selenium-or.html">Testing GWT Apps with Selenium or WebDriver&lt;/a> – take note of problem 3. Friends don’t let friends use GWT…&lt;/li>
&lt;li>&lt;a href="http://www.netmagazine.com/node/1465">The developer’s guide to browser adoption rates&lt;/a> is the sort of thing anyone doing browser automation needs to know about&lt;/li>
&lt;li>&lt;a href="http://exchange.nagios.org/directory/Plugins/Websites%2C-Forms-and-Transactions/check_selenium/details">integrate your selenium test cases into nagios&lt;/a> – this is something I keep thinking I should try out.&lt;/li>
&lt;li>&lt;a href="http://jayflowers.com/WordPress/?p=222">Continuous Integration Principles–Task Size Rules&lt;/a> has a diagram that seems about right — even if I haven’t really thought about it in great depth.&lt;/li>
&lt;li>&lt;a href="http://razgulyaev.blogspot.com/2011/11/another-robust-way-of-how-to-locate.html">Another robust way of how to locate ajax elements using Selenium 2 + webdriver&lt;/a> kinda looks like a re-implementation of the WebDriverWait stuff&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2011/12/03/a-tale-of-three-ruby-automated-testing-apis-redux/">A tale of three ruby automated testing APIs (redux)&lt;/a> was in an earlier queue, until he pulled it down. Now that its back, its back here too.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #71</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-71/</link><pubDate>Mon, 28 Nov 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-71/</guid><description>&lt;p>Looking like there might also be one later in the week too…&lt;/p>
&lt;ul>
&lt;li>As we start to transistion the web over the HTML5, I keep thinking about incorporating some ‘static’ checks into Se scripts. &lt;a href="http://www.paciellogroup.com/blog/2011/11/html5-accessibility-chops-using-nested-figure-elements/">HTML5 Accessibility Chops: using nested figure elements&lt;/a> explains some good (and bad) ways to use &lt;figure>&lt;/li>
&lt;li>Jim took my nudging the organizing tests post I linked to last time and expanded on &lt;a href="http://blogs.telerik.com/jimholmes/posts/11-11-23/organize-your-tests-part-ii-use-metadata.aspx">Organize Your Tests, Part II: Use Metadata!&lt;/a>. I really like the separation of &lt;em>execution&lt;/em> and &lt;em>organization&lt;/em> which is not something I had explicitly thought about before.&lt;/li>
&lt;li>A quick screencast on using the IPhoneDriver and jQuery Mobile.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/51E3FWMKkig?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/1306186">A bash script to set up Quickstart as a continuous integration appliance.&lt;/a> is kinda trick, but I personally would use something like Puppet or Chef to do this.&lt;/li>
&lt;li>&lt;a href="http://gfxmonk.net/2011/01/26/how-i-replaced-cucumber.html">How I Replaced Cucumber With 65 Lines of Python&lt;/a> is full of build-a-better-lightsaber goodness.&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/8252558/is-there-a-way-to-perform-a-mouseover-hover-over-an-element-using-selenium-and">Is there a way to perform a mouseover (hover over an element) using Selenium and Python bindings?&lt;/a> illustrates one of the lesser documented parts of the Python bindings: ActionChains.&lt;/li>
&lt;li>&lt;a href="https://github.com/Ardesco/Ebselen">Ebselen&lt;/a> is another &lt;em>Mavenised Selenium test framework&lt;/em>&lt;/li>
&lt;li>Not sure if this applies to how people run Se scripts with Visual Studio, but &lt;a href="http://www.bryancook.net/2011/11/fixing-parallel-test-execution-in.html">Fixing Parallel Test Execution in Visual Studio 2010&lt;/a> seems useful enough to link to.&lt;/li>
&lt;li>The &lt;a href="https://github.com/mikepack/snowday">snowday&lt;/a> formatter for RSpec is so unbelievably awesome. Maybe my frameworks needs to grow this for the holiday season. Hmmm…&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/junitparams/">junitparams&lt;/a> is an alternate runner for JUnit to enable more readable parameterized scripts.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #70</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-70/</link><pubDate>Wed, 23 Nov 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-70/</guid><description>&lt;p>That’s it for this week. 🙂&lt;/p>
&lt;ul>
&lt;li>For TestMate / Java folks, &lt;a href="https://github.com/jrock2004/TextMate-Bundle-Selenium-Java">TextMate-Bundle-Selenium-Java&lt;/a> could be interesting.&lt;/li>
&lt;li>We’ve all made Oopses when writing / interpreting Se scripts, so it is important to remember that &lt;a href="http://spin.atomicobject.com/2011/11/18/mistakes-transparency-is-best">Mistakes: Transparency is Best&lt;/a>&lt;/li>
&lt;li>Organizing scripts is one of those topics that gets both too much and not enough attention. &lt;a href="http://blogs.telerik.com/testing/posts/11-11-21/organizing-your-tests.aspx">Organizing Your Tests&lt;/a> adds to the discussion — though completely omits using ‘tags’ (which his product supports…)&lt;/li>
&lt;li>Not sure how this will affect automation of Android or not, but still pretty cool.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/3DeprwFkl3U?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>Being able to package up shared code for even just internal distribution is an important step in large scale automation. So, &lt;a href="http://rubylearning.com/blog/how-do-i-create-and-publish-my-first-ruby-gem/">How Do I Create And Publish My First Ruby Gem?&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://fog.io/">fog&lt;/a> looks like it tries to provide a common api abstraction to a number of cloud providers.&lt;/li>
&lt;li>&lt;a href="http://properosolutions.com/2011/10/the-secrets-of-successful-test-automation/">The Secrets of Successful Test Automation&lt;/a> is a summary of a talk &lt;a href="http://lisacrispin.com/wordpress/">Lisa Crispin&lt;/a> did recently.&lt;/li>
&lt;li>&lt;a href="http://tech.dropbox.com/?p=89">A Python Optimization Anecdote&lt;/a> is a great step-by-step description of how a piece of python was optimized.&lt;/li>
&lt;li>&lt;a href="http://analytics.blogspot.com/2011/10/introducing-flow-visualization.html">Introducing Flow Visualization: visualizing visitor flow&lt;/a> seems like a neat way to determine which flows through the app to automate first. Unless of course your visitors are jerks like me who have /dev/null’ed GA.&lt;/li>
&lt;li>And we’ll finish off with a cartoon – &lt;a href="http://geekandpoke.typepad.com/geekandpoke/2011/10/ddt.html">Development Driven Tests&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #69</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-69/</link><pubDate>Tue, 22 Nov 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-69/</guid><description>&lt;p>In honor of this edition I provide…&lt;br>
&lt;img src="https://i2.wp.com/a3.l3-images.myspacecdn.com/images02/141/cb5d9b17391c47e49335fbde9be8e6a2/m.jpg" alt="">&lt;br>
…in which I also date myself.&lt;/p>
&lt;ul>
&lt;li>CITCon is another one of those conferences I should go to but haven’t. Yet! &lt;a href="http://jr0cket.blogspot.com/2011/11/7-continuous-integration-ideas-from.html">7 continuous integration ideas from CITCon&lt;/a> is a quick list from the most recent iteration.&lt;/li>
&lt;li>&lt;a href="http://www.cowboycoded.com/2011/05/06/testing-facebook-authentication-with-rails-3-cucumber-capybara-selenium/">Testing Facebook authentication with Rails 3 Cucumber, Capybara, Selenium&lt;/a> has a nice little trick to get Facebook to authenticate back to your Rails stack.&lt;/li>
&lt;li>&lt;a href="https://github.com/heavywater/pennyworth">pennyworth&lt;/a> is a ‘continuous packaging system’ which seems like an interesting description.&lt;/li>
&lt;li>&lt;a href="http://blog.m.artins.net/acceptance-tests-with-jbehave-selenium-page-objects/">Acceptance Tests With JBehave, Selenium &amp;amp; Page Objects&lt;/a>. We need more examples of how to do Page Objects in ways that align with the runner’s model of the world.&lt;/li>
&lt;li>&lt;a href="http://www.decipherinc.com/n/blog/development-and-engineering-team/2011/11/selenium-tests-when-wait-webdriver">When to Wait with Webdriver&lt;/a> walks through getting synchronization working. I like that implicit waits are just a middle step.&lt;/li>
&lt;li>&lt;a href="http://blog.brasskazoo.com/2011/10/using-webdriver-jbehave-to-test-dynamic.html">Using WebDriver, jBehave to test dynamic web forms&lt;/a> seemed like overkill at first, but on more careful reading is pretty clever.&lt;/li>
&lt;li>I’ve been thinking about Code Kata’s recently, and here is a &lt;a href="http://qatraveller-diary.blogspot.com/2011/11/code-kata-with-ddt-in-junit.html">Code Kata with DDT in JUnit&lt;/a>. We need, as a community, to come up with some of these for Se.&lt;/li>
&lt;li>In somewhat sad news, Bromine which is [was] powered by Se is &lt;a href="http://us2.campaign-archive2.com/?u=f7d92e9509336c1ea1b4f3506&amp;amp;id=14c245e9a8">ending development&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.agilejournal.com/articles/columns/column-articles/6460-orders-of-magnitude-in-test-automation">Orders of Magnitude in Test Automation&lt;/a> proposes some smell tests to determine if you are overly heavy in one type of automation or another&lt;/li>
&lt;li>Want to make a Python decorator but feel you might be inventing the wheel? &lt;a href="http://wiki.python.org/moin/PythonDecoratorLibrary">PythonDecoratorLibrary&lt;/a> [currently] lists 31 different decorator implementations so you don’t actually have to reinvent that wheel. Unless you want to of course…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #68</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-68/</link><pubDate>Mon, 21 Nov 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-68/</guid><description>&lt;p>Its been almost a month, so time for a flurry of Smatterings.&lt;/p>
&lt;ul>
&lt;li>Maven has a bad reputation in some circles (ignoring for a second that you are using Java…), but should you be using it the &lt;a href="https://github.com/sebarmeli/Selenium2-Java-QuickStart-Archetype">QuickStart Archetype&lt;/a> looks interesting.&lt;/li>
&lt;li>&lt;a href="http://theagileadmin.com/2011/11/15/why-your-monitoring-is-lying-to-you/">Why Your Monitoring Is Lying To You&lt;/a> talks about types of logging which are valuable both from a Continuous Delivery perspective and for checking the health of your application during long script runs.&lt;/li>
&lt;li>I still maintain that they who nails QC integration with/for Se will get buckets of money from people. Here is one attempt at it: &lt;a href="http://www.one-shore.com/quality-center-integration/">Quality Center Integration&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://jessenoller.com/good-to-great-python-reads/">Good to Great Python reads&lt;/a> is I think now on my list of things to hand new (and seasoned) Python folks.&lt;/li>
&lt;li>&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163752.aspx">Test Harness Design Patterns&lt;/a> is from 2005 but still interesting.&lt;/li>
&lt;li>&lt;a href="http://rubydoc.info/gems/jacuzzi/0.1.4/frames">jacuzzi&lt;/a> is &lt;em>superficial wrapper over RSpec + Capybara + Selenium test setup and execution&lt;/em>&lt;/li>
&lt;li>Because I don’t already have enough backlog on videos, the &lt;a href="https://www.cloudbees.com/jenkins-user-conference-2011-session-abstracts.cb">2011 Jenkins User Conference videos&lt;/a> are now online. Though behind a registration wall. I know why companies do this, but boo on you.&lt;/li>
&lt;li>&lt;em>This&lt;/em> is how you publish videos from a conferences – &lt;a href="http://www.gtac.biz/talks">GTAC 2011&lt;/a>. Note that this is how SeConf did it too..&lt;/li>
&lt;li>&lt;a href="http://itreallymatters.net/post/12242886944/awesome-page-objects-in-testing">Awesome Page Objects In Testing&lt;/a> uses Bing as its example to explain Page Objects in Ruby&lt;/li>
&lt;li>Ignore the Se-IDE suggestion, but &lt;a href="http://evolvingweb.ca/story/improving-your-drupal-testing-process">Improving Your Drupal Testing Process&lt;/a> has an ‘assumed to work’ list specifically spelled out. Too often this is not explicitly made — and agreed upon as acceptable risks by stakeholders&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #67</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-67/</link><pubDate>Thu, 27 Oct 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-67/</guid><description>&lt;ul>
&lt;li>&lt;a href="http://codegram.github.com/spinach/">Spinach&lt;/a> is a Cucumber-esque BDD framework that was advertised on twitter as having ‘less regex magic’. Not sure if it has grown Se support yet, but I have no doubt that it will soon.&lt;/li>
&lt;li>&lt;a href="http://jamesbetteley.wordpress.com/2011/10/20/coping-with-big-c-i/">Coping With Big C.I.&lt;/a> is full of stuff that is useful for even Small C.I.&lt;/li>
&lt;li>&lt;a href="http://draconianoverlord.com/2011/10/14/sane-selenium-testing.html">Sane AJAX Testing in Selenium&lt;/a> uses ‘reintroduced page loading’ for what I would call a ‘latch’ but describes it better I think. Or at least differently.&lt;/li>
&lt;li>&lt;a href="http://sny.no/2011/10/svg-game.html">Testing an SVG game&lt;/a> is yet again pushing the envelope towards full online game p0wnage with Se.&lt;/li>
&lt;li>Alright. And for the two people who haven’t seen it already here is &lt;a href="http://radar.oreilly.com/2011/10/angry-birds-robot-mobile-testing.html">Jason Huggins’ Angry Birds-playing Selenium robot&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.bonitasoft.org/blog/tutorial/how-to-get-faster-selenium-test-cases-execution/">How to get faster Selenium test cases execution&lt;/a> is about RC — but still worth the read. (And if Cybozu Labs’ XPath engine is so much faster than Google’s then why hasn’t the default been switched?)&lt;/li>
&lt;li>Here are some &lt;a href="https://gist.github.com/1295440">Browsermob Adhoc Queries&lt;/a> for after you have done your Se-based load run(s)&lt;/li>
&lt;li>Why would you care about Fabric? Well, you have to get the code up and running on the server don’t you? In 1.3 you now have &lt;a href="http://docs.fabfile.org/en/1.3.0/usage/parallel.html">Parallel execution&lt;/a> available to you.&lt;/li>
&lt;li>This &lt;a href="http://people.gnome.org/~michael/data/2011-10-13-new-developers.pdf">Interacting with new Developers…&lt;/a> deck is making the rounds.&lt;/li>
&lt;li>&lt;a href="http://aleetesting.blogspot.com/2011/10/selenium-webdriver-tips.html">Selenium WebDriver tips&lt;/a> includes how-to-do-basic auth with is something I don’t think I have seen yet.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #66</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-66/</link><pubDate>Wed, 19 Oct 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-66/</guid><description>&lt;p>Aside from one of the dog’s tummy making noises that imply a big mess to clean up later, this scheduling thing seems to be working out.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Heard someone talk about doing bitmap comparisons last week somewhere. &lt;a href="http://adaptive-images.com/">Adaptive Images&lt;/a> tricks I suspect are going to become more commonplace. Good luck with that. Se is best at interaction, structure and content checks; not does-it-look-the-way-some-human-intended. Robots where robots should be used. Humans where humans should be used.&lt;/p></description></item><item><title>A Smattering of Selenium #65</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-65/</link><pubDate>Tue, 18 Oct 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-65/</guid><description>&lt;p>Trying something new; queuing up the catch-up post while I have time to catch-up.&lt;/p>
&lt;ul>
&lt;li>I’ve been lead to believe that &lt;a href="http://community.jboss.org/en/arquillian/blog/2011/09/17/functional-testing-with-arquillian">Functional Testing with Arquillian&lt;/a> is a Big Deal&amp;amp;tm;. Of course, I just see a lot of Java…&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/7700929/python-multiprocessing-map-if-one-thread-raises-an-exception-why-arent-other">If one thread raises an exception, why aren’t other threads’ finally blocks called?&lt;/a> is an interesting question with a nice answer. If you start running scripts in parallel, this, and the GIL is something to keep in mind.&lt;/li>
&lt;li>My favourite part of posts like &lt;a href="http://blogs.telerik.com/jimholmes/posts/11-10-15/using-test-oracles-to-ensure-your-tests-rsquo-true-validity.aspx">Using Test Oracles to Ensure Your Tests’ True Validity&lt;/a> is they always have a ‘this is how I learned this the hard way’ story in them.&lt;/li>
&lt;li>I’m getting more and more convinced that the route to WebDriver powah! is through the JavascriptExecutor. As illustrated in &lt;a href="http://paulhammant.com/2011/09/30/setContext-back-for-selenium2/">setContext(..) is back for Selenium2 😛&lt;/a>&lt;/li>
&lt;li>One important trick to maven is knowing how / where to bind server control to. &lt;a href="http://blog.synyx.de/2011/10/testing-webapp-startup-on-jenkins-with-maven-tomcat-and-web-driver/">Testing webapp startup on Jenkins using Maven, Tomcat and Web Driver&lt;/a> might be a bit grand a title, and is using HTMLUnit (why?! do your customers use that browser? really?) but illustrates the maven part well.&lt;/li>
&lt;li>Since we’re in the HTML (findin yur bugz) whilst automating anyways, &lt;a href="http://line25.com/articles/youre-doing-it-wrong-common-html-tag-misuse">You’re Doing it Wrong: Common HTML Tag Misuses&lt;/a> is something to keep at the back of your mind.&lt;/li>
&lt;li>And since we’re critiquing the HTML, why not how the database schema is designed and its impacts on API design. &lt;a href="http://www.brunton-spall.co.uk/post/2011/09/24/identifiers-are-not-numbers/">Identifiers are not numbers&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/antecedent/patchwork">Patchwork&lt;/a> is a library that lets you monkey patch in PHP. Haven’t found a need for it yet, but I keep thinking I will.&lt;/li>
&lt;li>&lt;a href="https://www.facebook.com/notes/facebook-engineering/making-facebook-self-healing/10150275248698920">Making Facebook Self-Healing&lt;/a> is just darn cool. And unfortunately most things in the Immunization/Healing space are highly customized and not really candidates for open sourcing.&lt;/li>
&lt;li>&lt;a href="http://www.jimmycollins.org/blog/?p=483">Taking screenshots with Selenium WebDriver&lt;/a> in C#&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #64</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-64/</link><pubDate>Mon, 17 Oct 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-64/</guid><description>&lt;p>How did I fall behind again already?!?!&lt;/p>
&lt;ul>
&lt;li>This is a pretty good deck. &lt;a href="http://speakerdeck.com/u/jimholmes/p/automation-isnt-all-shiny-toys">Automation Isn’t All Shiny Toys&lt;/a>&lt;/li>
&lt;li>If your work is divided in time-based goals then providing videos of the end result is a fantastic idea. See Dave’s &lt;a href="http://blargon7.com/2011/10/q32011-in-review/">Q3/2011 in review&lt;/a>. The last two screencasts directly relate to Se&lt;/li>
&lt;li>&lt;a href="http://aslakhellesoy.com/post/11055981222/the-training-wheels-came-off">The training wheels came off&lt;/a> is outstanding! I’ve been saying this around Se-IDE for years.&lt;/li>
&lt;li>If you have tried automation-in-anger with Python, then you have likely spent some time swearing at the GIL. Thankfully David Beazley finds the GIL ‘fun’ and has posted some slides about it. &lt;a href="http://www.dabeaz.com/talks/EmbraceGIL/EmbracingGIL.pdf">here&lt;/a> and &lt;a href="http://www.slideshare.net/dabeaz/in-search-of-the-perfect-global-interpreter-lock">here&lt;/a>. Such geeky fun.&lt;/li>
&lt;li>Feature Switching is an important concept to get your development team wrapped around if doing automation; &lt;a href="http://www.paulstack.co.uk/blog/post/feature-switching-a-better-way-to-collaborate.aspx">Feature switching: a better way to collaborate&lt;/a> even has a common project feature-switch-inated linked to at the end.&lt;/li>
&lt;li>Another important thing is hosting your own respository of build artifacts. &lt;a href="http://www.build-doctor.com/2011/10/10/repository-thats-not-a-repository/">Repository? That’s not a repository&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://twist4all.wordpress.com/2011/05/21/logging-selenium-2-events-in-twist/">Logging Selenium 2 Events in Twist&lt;/a> is a product centric spike report — but is a good read if you want to extend WebDriver&lt;/li>
&lt;li>This ‘Learn your tools’ reminder is brought to you by &lt;a href="http://blakesmith.me/2011/10/14/diving-down-the-stack.html">diving down the stack&lt;/a>&lt;/li>
&lt;li>Automated configuration management with Puppet? &lt;a href="https://github.com/cloudsmith/geppetto">Geppetto&lt;/a> seems to be an important addition to that toolset.&lt;/li>
&lt;li>&lt;a href="http://testerfield.com/the-5-steps-to-the-parallel-web-testing-epiphany/">The 5 steps to the parallel web testing epiphany&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #63</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-63/</link><pubDate>Mon, 03 Oct 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-63/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://www.facebook.com/notes/facebook-engineering/watir-to-webdriver-unit-test-frameworks/10150314152278920">Watir to WebDriver: Unit Test Frameworks&lt;/a> – Well, its ‘big’ news. Of course, Watir can use WebDriver so they didn’t &lt;em>have&lt;/em> to port their scripts to a different API (I sure hope they have the API well abstracted away from their scripts). And of course the title of the post implies that Facebook thinks that Watir/Selenium scripts are ‘Unit’ tests which is suspect at best…&lt;/li>
&lt;li>&lt;a href="https://github.com/rtyler/jenkins-selenium-tests">Selenium tests for Jenkins&lt;/a> — Yup; Jenkins now has a set of Se scripts for it. Fork, modify and sent pull requests.&lt;/li>
&lt;li>&lt;a href="http://thucydides-webtests.com/">Thucydides&lt;/a> appears to be another full-feature framework built around WebDriver&lt;/li>
&lt;li>&lt;a href="http://electronicingenuity.com/nativedriver-ios-first-impressions">NativeDriver and iOS: First Impressions&lt;/a> looks to be the first of a series of posts about automating mobile apps&lt;/li>
&lt;li>&lt;a href="http://blog.reallysimplethoughts.com/2011/09/30/managing-locator-builders-in-selenium-ide/">Managing Locator Builders in Selenium IDE&lt;/a> introduces a new feature that we snuck into the most recent version of Se-IDE. Still needs a bit of polish, but we’re getting there.&lt;/li>
&lt;li>&lt;a href="http://blog.codekills.net/2011/09/29/the-evils-of--except--">The evils of `except:`&lt;/a> is a good reminder about naked excepts in your code. Doubly true in automation where you &lt;em>really&lt;/em> want to have exceptions bubbling to the top.&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2011/09/adding-mozmill-tests-to-the-selenium-ide-build-system/">Adding Mozmill tests to the Selenium IDE build system&lt;/a> walks you through how to add Mozmill tests to a CI environment. A lot of Se-IDE plugins are really only testable through Mozmill.&lt;/li>
&lt;li>So who is going to buy me a &lt;a href="http://www.bengarvey.com/2011/09/23/37signals-sent-me-a-gift-for-pwning-their-leaderboards/">Keep Calm and Continue Testing&lt;/a> t-shirt.&lt;/li>
&lt;li>And while we’re at it, who is going to add Se to the &lt;a href="http://developer.ubuntu.com/">Ubuntu Software Center&lt;/a>&lt;/li>
&lt;li>This issue’s debate is &lt;a href="http://www.developsense.com/blog/2011/09/at-least-three-good-reasons-for-testers-to-learn-to-program/">At Least Three Good Reasons for Testers to Learn to Program&lt;/a> vs. &lt;a href="http://www.zacharyspencer.com/2011/09/at-least-3-reasons-for-software-testers-not-to-learn-to-code/">At Least 3 Reasons for Software Testers NOT to Learn to Code&lt;/a>. Of course, if you are doing Se stuff, that alone is reason to learn to code — automation &lt;em>is&lt;/em> programming.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #62</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-62/</link><pubDate>Thu, 29 Sep 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-62/</guid><description>&lt;p>All opinions, all the time…&lt;/p>
&lt;ul>
&lt;li>It all began with &lt;a href="http://angryweasel.com/blog/?p=325">Test Design for Automation&lt;/a> which lead to &lt;a href="http://chrismcmahonsblog.blogspot.com/2011/08/automated-test-design-riffingripping.html">Automated Test Design (riffing/ripping off Alan Page)&lt;/a>&lt;/li>
&lt;li>And then through some weird Jedi mind control there was &lt;a href="http://angryweasel.com/blog/?p=332">Design for *GUI* Automation&lt;/a> which in turn led to &lt;a href="http://chrismcmahonsblog.blogspot.com/2011/09/more-ui-test-design-once-more-from-alan.html">more UI test design (once more from Alan Page)&lt;/a>&lt;/li>
&lt;li>And heck, why have two articles from the same author when you can have three?! &lt;a href="http://angryweasel.com/blog/?p=342">It’s (probably) a Design Problem&lt;/a> — though I don’t think Chris has riffed off this one yet…&lt;/li>
&lt;li>Remember, &lt;a href="http://blogs.telerik.com/jimholmes/posts/11-09-22/not-every-test-should-be-automated.aspx">Not Every Test Should be Automated!&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://lostechies.com/derickbailey/2011/09/22/dependency-injection-is-not-the-same-as-the-dependency-inversion-principle/">Dependency Injection Is NOT The Same As The Dependency Inversion Principle&lt;/a> — not that I really understand either really…&lt;/li>
&lt;li>Who knew a collection of scrapebookers is called a ‘crop’? Also, a ‘scrapbooking consultant’? — automation is hard, let’s go scrapbooking! Anyways, &lt;a href="http://blog.aclairefication.com/2011/09/taking-on-water/">Taking on Water&lt;/a> is dead on in terms of which things to prioritize when automating.&lt;/li>
&lt;li>&lt;a href="http://www.kaner.com/pdfs/autosqa.pdf">Improving the Maintainability of Automated Test Suites&lt;/a> by Cem Kaner is an older paper, but the Strategies for Success on page 3 are important. Especially 1, 2 and 5.&lt;/li>
&lt;li>Also from the vaults is &lt;a href="http://cafe.elharo.com/testing/harolds-corollary-to-knuths-law/">Harold’s Corollary to Knuth’s Law&lt;/a> which is aimed at Unit not Functional tests, but still is food for thought.&lt;/li>
&lt;li>&lt;a href="http://www.benmgreene.com/post/9295282784/why-continuous-deployment-matters">Why Continuous Deployment Matters&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://thetesteye.com/blog/2011/09/the-little-black-book-on-test-design/">The Little Black Book on Test Design&lt;/a> is meant for exploratory testing, but I bet there is stuff one could pull out of it for automation purposes as well.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #61</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-61/</link><pubDate>Wed, 28 Sep 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-61/</guid><description>&lt;p>‘These are the people in your neighbourhood…’&lt;/p>
&lt;ul>
&lt;li>Like the power of WebDriver, but not the API? &lt;a href="http://watirwebdriver.com/">Watir WebDriver&lt;/a> will get you going with the Watir API. Lots of useful stuff there.&lt;/li>
&lt;li>So does Alister Scott’s &lt;a href="http://watirmelon.com/">WatirMelon&lt;/a> blog&lt;/li>
&lt;li>&lt;a href="http://sikuli.org/blog/2011/08/15/sikuli-plays-angry-birds-on-google-games/">Sikuli Plays Angry Birds on Google Games&lt;/a> — just because scripts that play games are fun.&lt;/li>
&lt;li>&lt;a href="https://github.com/jarib/cukeforker">cukeforker&lt;/a> is for ‘Forking cukes and VNC displays.’&lt;/li>
&lt;li>First time I’ve seen a group of machines referred to as a ‘fleet’, but its appropriate. &lt;a href="http://cloud.ubuntu.com/2011/09/oneiric-server-deploy-server-fleets-p1/">http://cloud.ubuntu.com/2011/09/oneiric-server-deploy-server-fleets-p1/&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://specrun.net/">SpecRun&lt;/a> bills itself as ‘a smarter integration test runner for SpecFlow’&lt;/li>
&lt;li>&lt;a href="http://ifttt.com/wtf">ifttt&lt;/a> (if this then that) looks like a love child of sikuli and yahoo pipes&lt;/li>
&lt;li>A TextMate bundle that formats JSON strings? Sure! &lt;a href="http://christopherroach.com/2010/12/17/json-textmate-bundle/">A TextMate Bundle for JSON That Formats Properly&lt;/a>&lt;/li>
&lt;li>Improve your Perl by making it look like Python with &lt;a href="http://search.cpan.org/~fxn/Acme-Pythonic/lib/Acme/Pythonic.pm">Acme::Pythonic&lt;/a>&lt;/li>
&lt;li>Binding News
&lt;ul>
&lt;li>New driver – &lt;a href="http://sourceforge.net/projects/blueducksda/">AutoIt&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://metacpan.org/module/Selenium::Remote::Driver">Selenium::Remote::Driver&lt;/a> isn’t new, but is now in CPAN&lt;/li>
&lt;li>New driver – &lt;a href="https://groups.google.com/forum/#!topic/golang-nuts/DEX7gVVSmjE">Go&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://element34.ca/blog/a-survey-of-the-php-and-selenium-landscape">A Survey of the Php and Selenium Landscape&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #60</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-60/</link><pubDate>Tue, 27 Sep 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-60/</guid><description>&lt;p>This instalment of catch-up week is brought to you by the letters C and I.&lt;/p>
&lt;ul>
&lt;li>The &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep">pre-scm-buildstep&lt;/a> plugin for jenkins adds a useful step into the job workflow.&lt;/li>
&lt;li>Understanding your tools is important. Here is an explanation of Jenkings &lt;a href="http://blog.cloudbees.com/2011/08/jenkins-internal-action-and-its.html">Action and its subtypes&lt;/a>&lt;/li>
&lt;li>You think &lt;em>your&lt;/em> CI setup is impressive? Check out &lt;a href="https://builds.apache.org/">the Apache Foundation’s Jenkins server&lt;/a>&lt;/li>
&lt;li>The easiest way to get CI going is with the ubiquitious but completely unoffically Ant JUnit XML format. &lt;a href="http://www.stevetrefethen.com/blog/Publishing-Python-unit-test-results-in-Jenkins.aspx">Publishing Python unit test results in Jenkins&lt;/a> discusses a python package a bit for it.&lt;/li>
&lt;li>To me, using a headless browser like HTMLUnit makes very little sense. Now, a headful browser on a headless machine — that makes sense. &lt;a href="http://iafonov.github.com/blog/setup-jenkins-to-run-headless-selenium.html">Setting up Jenkins CI to run selenium tests and record video in three easy steps&lt;/a> explains how to do this in Ruby.&lt;/li>
&lt;li>&lt;a href="http://about.travis-ci.org/docs/user/selenium-setup/">Travis CI – Selenium setup&lt;/a> shows the similar thing minus the recording of a video for the Travis CI environment.&lt;/li>
&lt;li>So far it seems that one should just subscribe to the Multunus blog and be done with it. Or at least &lt;a href="http://www.multunus.com/blog/all/continuous-delivery/">the continuous delivery category&lt;/a>.&lt;/li>
&lt;li>Think your web app deployment is ‘hard’? &lt;a href="http://blog.octo.com/en/continuous-delivery-how-do-we-deliver-in-3-clicks-to-7000-machines/">Continuous Delivery: How do we deliver in 3 clicks to 7000 machines?&lt;/a> discusses a .NET client application. Now go count your blessings and get that remote svn export scripted.&lt;/li>
&lt;li>&lt;a href="http://theagileadmin.com/2011/09/12/wont-somebody-please-think-of-the-systems/">Won’t somebody please think of the systems?&lt;/a> looks at CI with a bit of an ITIL lens&lt;/li>
&lt;li>&lt;a href="http://blog.stevemoyer.net/2011/09/distributed-check-in-tokens-pass-puppy.html">Distributed Check-in Tokens: Pass-The-Puppy&lt;/a> presents a quick technical solution for not breaking the build through tokens. You could of course talk to each other but there are sometimes time zones conspiring against you.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #59</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-59/</link><pubDate>Mon, 26 Sep 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-59/</guid><description>&lt;p>Its been a month and a half since the last one of these, and the volume of links I have collected illustrates that. So this week is now a cleanup week.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/">How Browsers Work: Behind the Scenes of Modern Web Browsers&lt;/a> seems to be one of those articles that people who automate browsers for a living should be familiar with.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://cleancoder.posterous.com/100-test-coverage">100% Test Coverage&lt;/a> is always the goal.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://marlenacompton.com/?p=2417">Continuous Deployment and Data Visualization&lt;/a> reminds us that if some data is good, more is often better.&lt;/p></description></item><item><title>A Smattering of Selenium #58</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-58/</link><pubDate>Mon, 15 Aug 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-58/</guid><description>&lt;p>And here we go again with more links than I thought I had collected…&lt;/p>
&lt;ul>
&lt;li>
&lt;p>There are a metric tonne of site on the internets which are on how to scam your way through a Se interview. &lt;a href="http://paulhammant.com/2011/08/04/hiring-selenium-quality-assurance-peope/">Hiring Selenium QA people&lt;/a> provides some fodder on how one could look for and hire Se folk.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://silkandspinach.net/2011/08/08/why-i-dont-use-spork/">Why I don’t use spork&lt;/a> reminds us that pain is [sometimes] a good thing.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>The Jenkins project is &lt;a href="http://jenkins-ci.org/content/jenkins-user-conference">having a conference&lt;/a> on October 2 in the same hotel that SeConf was held.&lt;/p></description></item><item><title>A Smattering of Selenium #57</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-57/</link><pubDate>Mon, 08 Aug 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-57/</guid><description>&lt;p>Phew. The links made it through the Lion installation.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://brian-oneill.com/2011/08/02/distributing-the-same-test-to-multiple-processes/">Distributing the Same Test to Multiple Processes&lt;/a> shows a technique for debugging flaky scripts&lt;/li>
&lt;li>Repeat after me: I will not automate GMail unless I am Google. Or if you will, you will do something like what is described in &lt;a href="http://seleniumsoftwaretesting.blogspot.com/2011/08/verify-email-confirmation-using.html">Verify email confirmation using Selenium&lt;/a>. Notice that they are &lt;em>not&lt;/em> using Se for it.&lt;/li>
&lt;li>&lt;a href="http://devops-abyss.blogspot.com/2010/06/selenium-and-nagios.html">Selenium and Nagios&lt;/a> is something more teams should do I think.&lt;/li>
&lt;li>‘This started out as a…’ usually means the discovery of a rabbit hole. &lt;a href="http://madcoderspeak.blogspot.com/2011/07/towards-better-acceptance-test.html">Towards better acceptance test automation…&lt;/a> has a great diagram where all roads lead to accidental complexity and &lt;a href="http://madcoderspeak.blogspot.com/2011/07/a-team.html">The A Team&lt;/a> the proposes solutions to those complexity problems.&lt;/li>
&lt;li>&lt;a href="http://blog.gdinwiddie.com/2011/08/01/specialized-skills/">Specialized Skills&lt;/a> remarks that ‘life is like a box of crayons’ — I’ve been having this conversation around automation again recently. When everyone blurs their specialization boundaries you have a [chance] of success.&lt;/li>
&lt;li>&lt;a href="http://www.testingreflections.com/node/view/8661">Performance Testing Practice Named During Online Summit&lt;/a> names a practice we’ve often used — &lt;em>User Experience Under Load&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://www.cheezyworld.com/2011/07/29/introducing-page-object-gem/">Introducing page-object gem&lt;/a> showcases a pretty nice looking gem.&lt;/li>
&lt;li>Often people link to W3Schools.com when explaining XPath, CSS, etc. Please don’t. &lt;a href="http://w3fools.com/">W3Fools&lt;/a> explains why.&lt;/li>
&lt;li>Is there another Se-in-the-cloud provider coming? The &lt;a href="http://rubygems.org/gems/testingbot">testingbot&lt;/a> gem seems to imply so&lt;/li>
&lt;li>&lt;a href="https://github.com/MathildeLemee/FluentLenium">FluentLenium&lt;/a> lets you write JUnit scripts that look like JQuery code&lt;/li>
&lt;li>&lt;a href="http://blog.josephwilk.net/cucumber/mining-cucumber-features.html">Mining Cucumber Features&lt;/a> has a cool investigation trick that could be adopted to larger scopes than just cucumber&lt;/li>
&lt;li>&lt;a href="http://blog.apievangelist.com/2011/08/06/api-stack-image-to-css-conversion-with-img-to-css-api/">Image to CSS Conversion with Img to CSS API&lt;/a> is likely something I would explore if I was going to compare page image contents.&lt;/li>
&lt;li>Selenium IDE I think runs afoul of the &lt;a href="http://en.wikipedia.org/wiki/Attractive_nuisance_doctrine">attractive nuisance doctrine&lt;/a>&lt;/li>
&lt;li>Are you a tool vendor? Here are some steps you can take to &lt;a href="http://www.satisfice.com/blog/archives/596">avoid a curse being placed upon you&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.investigatingsoftware.co.uk/2011/08/test-automation-that-helps-guardian.html">Test automation that helps, A Guardian Content API example&lt;/a> is a bit of an exploratory automation experience report but also reminds that the point of all this is to get new information.&lt;/li>
&lt;li>&lt;a href="http://blog.alertfox.com/2011/05/your-chrome-browser-might-not-be-using.html">Your Chrome browser might not be using HTTP anymore&lt;/a> is my new Example One for why the browser vendors need to be the ones to provide the automation hooks. Which in this case, they do.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #56</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-56/</link><pubDate>Thu, 28 Jul 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-56/</guid><description>&lt;p>Safari is starting to whinge about how many tabs I have open which means it is time for another post.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://github.com/blackberry/ripple-ui">Ripple-UI&lt;/a> is a cross-platform, mobile web application emulation environment. From RIM. Could be something interesting.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="http://saucelabs.com/blog/index.php/2011/07/tips-from-our-codebase-to-help-you-write-reliable-selenium-tests/">Tips From Our Codebase To Help You Write Reliable Selenium Tests&lt;/a> has nothing I don’t violently disagree with. And makes me think we should just add Implicit Waits to the Se Server and be done with it.&lt;/p></description></item><item><title>A Smattering of Selenium #55</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-55/</link><pubDate>Mon, 18 Jul 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-55/</guid><description>&lt;p>Last week we released Se-IDE 1.1.0 which now features WebDriver formats and Se 2.1.0 was released about an hour ago. Simon will post something shortly-ish on what’s changed.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>I haven’t messed around with HTML5 goodies yes, but &lt;a href="http://code.google.com/p/fake-html5/">fake-html5&lt;/a> seems like it could be interesting.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>The Yii framework &lt;a href="http://www.yiiframework.com/extension/webdriver-test/">has grown WebDriver support&lt;/a>. Now if only there were not two competing PHP implementations for them to have to choose from…&lt;/p>
&lt;/li>
&lt;li>
&lt;p>If you are using Python’s native packaging system to share your framework, then &lt;a href="http://blog.codekills.net/2011/07/15/lies,-more-lies-and-python-packaging-documentation-on--package_data-">Lies, More Lies and Python Packaging Documentation on `package_data`&lt;/a> could spare you some headache&lt;/p></description></item><item><title>A Smattering of Selenium #54</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-54/</link><pubDate>Fri, 15 Jul 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-54/</guid><description>&lt;p>Two Smatterings in two days?!!? That never happens. Well, except when I get behind and have a metric tonne of links queued up.&lt;/p>
&lt;ul>
&lt;li>Next week appears to be Meetup week with ones in &lt;a href="http://www.meetup.com/seleniumlondon/events/25582321/">London&lt;/a> on Tuesday, &lt;a href="http://www.meetup.com/Toronto-Selenium-Meetup-Group/events/25352281/">Toronto&lt;/a> on Wednesday and &lt;a href="http://www.meetup.com/seleniumsanfrancisco/events/25062091/">San Francisco&lt;/a> on Thursday. It’s like we coordinated or something. (But didn’t.)&lt;/li>
&lt;li>Last month’s SFSE meetup was on framework design. Here is the &lt;a href="http://www.slideshare.net/saucelabs/test-automation-framework-designs">slides&lt;/a> and the video.&lt;br>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/VBhCt0LQiiw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>&lt;a href="http://blog.magneticreason.com/?p=230">Selenium Smells&lt;/a> goes on a bit of a rant (and provides solutions) to people putting sleeps in their code instead of proper synchronization. For the record, this is the &lt;em>first&lt;/em> thing I do when I’m auditing people’s Se code.&lt;/li>
&lt;li>Se isn’t really designed for the ‘look and feel’ aspect of automation, but &lt;a href="http://www.practicalweb.co.uk/blog/11/06/28/selenium-test-computedstyle">Selenium test for computedStyle&lt;/a> a way to do it.&lt;/li>
&lt;li>Using Watir and want to use the new Opera driver? Its easy-peasy according to &lt;a href="http://watirmelon.com/2011/07/08/using-opera-with-watir-webdriver-for-free/">Using Opera with Watir-Webdriver (for free)&lt;/a>&lt;/li>
&lt;li>What’s a Smattering without some crazy geek thing that helps you learn your tools better? &lt;a href="http://mypythonnotes.wordpress.com/2008/09/04/__slots__/">__slots__&lt;/a>. There you go.&lt;/li>
&lt;li>More build pipelining — this time with Jenkins. &lt;a href="http://www.multunus.com/2011/07/continuous-delivery-using-jenkins-build-pipeline/">Our Jenkins Build Pipeline setup&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.steveklabnik.com/2011/07/03/nobody-understands-rest-or-http.html">Nobody Understands REST or HTTP&lt;/a> could be added to me required reading list.&lt;/li>
&lt;li>Read the last paragraph of &lt;a href="http://perze.blogspot.com/2011/07/of-404s-automation-and-other-things.html">of 404s, automation and other things&lt;/a>. Now read it again.&lt;/li>
&lt;li>Mozilla practices what it preaches in terms of the Open Web as discussed in &lt;a href="http://marlenacompton.com/?p=2342">These are your tests: Testing in the Mozilla Ecosystem&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.grahambrooks.com/blog/?p=407">Insulating against failure using Caching Reverse Proxies&lt;/a> just seems like a good idea.&lt;/li>
&lt;li>&lt;a href="http://www.thinq.co.uk/2011/7/7/web-devs-optimistic-over-ie10-conditionals-drop/">Web devs optimistic over IE10 conditionals drop&lt;/a> seems to be something we-who-deal-with-browsers-and-their-quirks-for-a-living need to be aware of&lt;/li>
&lt;li>In a weird bit of timing &lt;a href="http://andialbrecht.de/blog/2011/07/12/a-selenium-and-python-appetizer.html">A Selenium and Python appetizer&lt;/a> came out mere hours after &lt;a href="http://coreygoldberg.blogspot.com/2011/07/python-getting-started-with-selenium.html">Getting Started With Selenium WebDriver on Ubuntu/Debian&lt;/a>. For some reason, this &lt;a href="http://www.quotationspage.com/quote/22602.html">quote&lt;/a> comes to mind. 🙂&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #53</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-53/</link><pubDate>Thu, 14 Jul 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-53/</guid><description>&lt;p>Well, since the last Smattering there hasn’t been much in the community. Oh. Well, except for hitting the 2.0.0 milestone. Which seems like a good time to remind people that:&lt;/p>
&lt;ul>
&lt;li>&lt;em>Selenium&lt;/em> is the project &lt;em>name&lt;/em>&lt;/li>
&lt;li>Selenium &lt;em>1&lt;/em> is a project &lt;em>version&lt;/em>&lt;/li>
&lt;li>Selenium &lt;em>2&lt;/em> is a project &lt;em>version&lt;/em>&lt;/li>
&lt;li>Selenium &lt;em>Remote Control (RC)&lt;/em> is an &lt;em>API name&lt;/em>&lt;/li>
&lt;li>Selenium &lt;em>WebDriver&lt;/em> is an &lt;em>API name&lt;/em>&lt;/li>
&lt;li>A person &lt;em>upgrades&lt;/em> from Selenium 1 to Selenium 2&lt;/li>
&lt;li>A person &lt;em>migrates&lt;/em> from RC to WebDriver&lt;/li>
&lt;/ul>
&lt;p>And with that soap boxing, here are some links for your consumption.&lt;/p></description></item><item><title>A Smattering of Selenium #52</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-52/</link><pubDate>Fri, 01 Jul 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-52/</guid><description>&lt;p>Welcome to the Canada Day edition of the less-than-weekly-now collection of Selenium / Automation links that is the Smattering of Selenium.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2011/selenium-advanced-user-interactions.html">Selenium Advanced User Interactions&lt;/a> illustrates how this new API (which is part of WebDriver) can use used to do things like drag-and-drop on Canvas elements.&lt;/li>
&lt;li>&lt;a href="http://offbytwo.com/2011/06/26/things-you-didnt-know-about-xargs.html">Things you (probably) didn’t know about xargs&lt;/a> is one of those things to keep tucked away in your toolbox. Especially if you find yourself having to shell out in your scripts.&lt;/li>
&lt;li>&lt;a href="http://rubygems.org/gems/sapphire">Sapphire&lt;/a> is yet another Ruby framework. Yet again aiming at &lt;em>non-technical resources&lt;/em>. Though I am sure he meant ‘people’.&lt;/li>
&lt;li>Se-IDE 1.0.12 has been available on the website for a bit and is being pushed out to everyone this weekend. Samit has a &lt;a href="http://blog.reallysimplethoughts.com/2011/06/23/selenium-ide-v1-0-12-is-now-here/">summary of the changes&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://thoughtforge.net/2011/06/21/automated-testing-of-richfaces-components-with-selenium/">Automated Testing of RichFaces Components with Selenium&lt;/a> is a nice Maven example including how to deal with complex AJAX calls&lt;/li>
&lt;li>&lt;a href="http://www.bryancook.net/2011/05/tests-are-broken-now-what.html">The Tests are Broken, Now What?&lt;/a> explains a method in the C# world of dealing with flaky scripts&lt;/li>
&lt;li>&lt;a href="http://www.natpryce.com/articles/000788.html">A Python Decorator to Mark Nose Tests as Work in Progress&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://testerthoughts.com/2011/06/14/advice-on-starting-browser-based-automation/">Advice on starting browser-based automation&lt;/a> is a pretty decent list — even if it does need to breaks between points.&lt;/li>
&lt;li>&lt;a href="http://agilesoftwaretesting.com/?p=230">JavaScript alerts in Selenium 2, webdriver and capybara”&lt;/a>&amp;gt; looks like it was good before, and better with the help of some feedback&lt;/li>
&lt;li>&lt;a href="http://coreygoldberg.blogspot.com/2011/06/python-headless-selenium-webdriver.html">Headless Selenium WebDriver Tests using PyVirtualDisplay&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://coreygoldberg.blogspot.com/2011/06/python-selenium-webdriver-capture.html">Python – Selenium WebDriver – Capture Screenshot&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.browsermob.com/2011/06/inspecting-xpath-expressions-and-css-selectors-using-firefoxchrome">Inspecting XPath Expressions and CSS Selectors using Firefox/Chrome&lt;/a> via Firebug or the console&lt;/li>
&lt;li>&lt;a href="http://blog.infostretch.com/?p=1106">Selenium IDE Plug-in for InfoStretch Framework&lt;/a> includes a formatter for their tool as well as a bunch of other extensions.&lt;/li>
&lt;li>The &lt;a href="http://johanneslink.net/projects/cpsuite.jsp">ClasspathSuite&lt;/a> modifies how JUnit 4 finds what scripts it will run.&lt;/li>
&lt;li>&lt;a href="https://github.com/jesseeichar/Selenium-Specs">Selenium-Specs&lt;/a> is an Se-IDE formatter for Scala / Spec2&lt;/li>
&lt;li>&lt;a href="http://www.defuze.org/archives/266-acceptance-testing-a-cherrypy-application-with-robot-framework.html">Acceptance testing a CherryPy application with Robot Framework&lt;/a> (and Selenium)&lt;/li>
&lt;li>I’m starting to think that Selenium needs a curated Recipe site; &lt;a href="http://www.protocolostomy.com/2010/12/20/the-makings-of-a-great-python-cookbook-recipe/">The Makings of a Great Python Cookbook Recipe&lt;/a> is an example of what I think we need&lt;/li>
&lt;li>&lt;a href="http://twist4all.wordpress.com/2011/06/13/chrome-switches/">Selenium 2 Chrome Switches via ChromeDriver&lt;/a> for all your toggle-ing needs&lt;/li>
&lt;li>&lt;a href="http://www.exampler.com/blog/2011/06/17/test-maintenance-or-the-third-era-of-programmer-testing/">Test Maintenance; Or, The Third Era of Programmer Testing&lt;/a> postulates that script maintenance is on the verge of an evolution&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #51</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-51/</link><pubDate>Mon, 06 Jun 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-51/</guid><description>&lt;p>Two big releases last week&amp;hellip;&lt;/p>
&lt;ul>
&lt;li>Selenium IDE 1.0.11 was released — with Firefox 4 support. Finally. And just in time for people to start agitating for Firefox 5 support. &lt;a href="http://seleniumhq.wordpress.com/2011/05/30/selenium-ide-1-0-11-%E2%80%93-now-with-firefox-4-support/">official announcement&lt;/a>, &lt;a href="http://blog.reallysimplethoughts.com/2011/05/30/welcome-selenium-ide-1-0-11-with-firefox-4-support/">unofficial announcement&lt;/a>&lt;/li>
&lt;li>Selenium 2 RC1 (and RC2) were released which marks the first official release of the new in-server grid behaviour. Even if you are not using the WebDriver API or grid functionality, you should be updating your environment to this. &lt;a href="http://seleniumhq.wordpress.com/2011/06/02/selenium-2-0rc2-the-better-working-release/">official announcement&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>And the rest.&lt;/p></description></item><item><title>A Smattering of Selenium #50</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-50/</link><pubDate>Tue, 24 May 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-50/</guid><description>&lt;p>Half a century!&lt;/p>
&lt;p>And because I am late doing this, the &lt;a href="http://www.theautomatedtester.co.uk/blog/2011/selenium-test-day-amo-240511.html">Selenium Test Day for Addons.Mozilla.org&lt;/a> — which is &lt;em>today!&lt;/em> gets top billing. Its actually going on Right Now. Looking to practice script writing and/or up your profile? This is a great way.&lt;/p>
&lt;p>And now for the usual stuff.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://testerthoughts.com/2011/05/17/guest-post-net-headless-browser-options/">.NET Headless browser options&lt;/a> looks at various options that might be available to you if you want something like HTMLUnit but for .NET.&lt;/li>
&lt;li>CSS vs. XPath is one of the great talking points in the Se community. And until now there hasn’t been any hard information to support the claims. &lt;a href="http://saucelabs.com/blog/index.php/2011/05/why-css-locators-are-the-way-to-go-vs-xpath/">Why CSS Locators are the way to go vs XPath&lt;/a> now solves that problem.&lt;/li>
&lt;li>&lt;a href="http://testingpodcast.com/iwst-heuristics-for-creating-automated-regression-tests/">Heuristics For Creating Automated Regression Tests&lt;/a> as recorded from a IWST session late last year&lt;/li>
&lt;li>&lt;a href="http://mkaz.com/archives/1705/functional-testing-with-selenium-webdriver-and-scala/">Functional Testing with Selenium WebDriver and Scala&lt;/a>. Don’t think I’ve ever actually seen that language before.&lt;/li>
&lt;li>Here is a useful StackOverflow question – &lt;a href="http://stackoverflow.com/questions/211487/how-to-add-a-junit-4-test-that-doesnt-extend-from-testcase-to-a-testsuite">How to add a JUnit 4 test that doesn’t extend from TestCase to a TestSuite?&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.bettersoftwaretesting.com/?attachment_id=24">‘Pushing the boundaries of User Experience Test Automation’ slides&lt;/a> from the STEP-AUTO conference. Not that useful without Julian in front of them, but check out slide 17&lt;/li>
&lt;li>The &lt;a href="http://www.slideshare.net/kohsuke/current-state-of-jenkins">Current State of Jenkins&lt;/a> deck is interesting, but slide 9 specifically is what the Se community could learn from.&lt;/li>
&lt;li>Need to add automation hooks? Have a look at the &lt;a href="http://ejohn.org/blog/html-5-data-attributes/">data- attributes&lt;/a>. Why, oh why don’t I use these more?&lt;/li>
&lt;li>People should write more spelunking post like &lt;a href="http://rubysource.com/spelunking-selenium-in-search-of-sockets/">Spelunking Selenium in Search of Sockets&lt;/a>&lt;/li>
&lt;li>I’m doing a &lt;a href="http://www.pushtotest.com/adam-goucher">webinar for PushToTest&lt;/a> on Thursday. Haven’t done one of those before…&lt;/li>
&lt;li>A &lt;a href="http://skillsmatter.com/podcast/agile-testing/talk-by-dave-farley">Continuous Delivery video from the London Test Gathering&lt;/a> — I really wish I had time to watch videos these days.&lt;/li>
&lt;li>If you are using Python’s unittest module, then &lt;a href="https://launchpad.net/pyjunitxml">PyJUnitXML&lt;/a> is going to help prevent you from re-re-rewriting the ‘ant junit xml’ format&lt;/li>
&lt;li>&lt;a href="http://code.enthought.com/projects/traits/">Traits&lt;/a> is a bit of a type system for Python. I think.&lt;/li>
&lt;li>Not that I use any of these, but &lt;a href="http://alexsotob.blogspot.com/2011/04/are-you-locked-up-in-world-thats-been.html">this seems like a nice tutorial on JBehave, Spring MVC and WebDriver&lt;/a>&lt;/li>
&lt;li>Looking for Snake Oil? I present to you &lt;a href="http://blogs.forbes.com/alexknapp/2011/05/18/researcher-develops-automatic-software-testing/">Snake Oil&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/twin/">twin&lt;/a> looks rather cool. Now all it needs is the same language support as WebDriver and we might have a tight way to deal with the desktop and browser&lt;/li>
&lt;li>So who is going to add a link to &lt;a href="http://twist4all.wordpress.com/2011/05/21/logging-selenium-2-events-in-twist/">Logging Selenium 2 Events in Twist&lt;/a> or similar to the Se Documentation?&lt;/li>
&lt;li>The &lt;a href="https://github.com/cheezy/page-object">page object gem&lt;/a> could help with adoption of this pattern. Or could hopelessly confuse the pattern with the gem’s implementation of the pattern. Based on past experience, my money is on the latter.&lt;/li>
&lt;li>&lt;a href="http://www.lulu.com/product/paperback/the-architecture-of-open-source-applications/15819207">The Architecture of Open Source&lt;/a> book has been released and includes a chapter on Selenium by Simon Stewart. Buy it from this link, not Amazon — all royalties are going to Amnesty International and Amazon takes a huge slice&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #49</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-49/</link><pubDate>Mon, 09 May 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-49/</guid><description>&lt;p>Here is the next 10 links as I play catch-up.&lt;/p>
&lt;ul>
&lt;li>First up is the &lt;a href="http://www.seleniumconf.com/videos/">Selenium Conf videos&lt;/a>. There are only seven up currently, but as they are processed they will be posted&lt;/li>
&lt;li>Silicon Valley Continuous Integration Summit, April 7, 2011
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Lk2l6Mw-HLk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>
&lt;/li>
&lt;li>Virtual Hudson Build Environments – &lt;a href="http://www.stickyminds.com/sitewide.asp?ObjectId=16569&amp;amp;Function=DETAILBROWSE&amp;amp;ObjectType=COL&amp;amp;sqry=*Z%28SM%29*J%28MIXED%29*R%28relevance%29*K%28simplesite%29*F%28Tony&amp;#43;Sweets%29*&amp;amp;sidx=1&amp;amp;sopp=10&amp;amp;sitewide.asp?sid=1&amp;amp;sqry=*Z%28SM%29*J%28MIXED%29*R%28relevance%29*K%28simplesite%29*F%28Tony&amp;#43;Sweets%29*&amp;amp;sidx=1&amp;amp;sopp=10">Part One&lt;/a>, &lt;a href="http://www.stickyminds.com/sitewide.asp?ObjectId=16592&amp;amp;Function=DETAILBROWSE&amp;amp;ObjectType=COL&amp;amp;sqry=*Z%28SM%29*J%28MIXED%29*R%28relevance%29*K%28simplesite%29*F%28Tony&amp;#43;Sweets%29*&amp;amp;sidx=0&amp;amp;sopp=10&amp;amp;sitewide.asp?sid=1&amp;amp;sqry=*Z%28SM%29*J%28MIXED%29*R%28relevance%29*K%28simplesite%29*F%28Tony&amp;#43;Sweets%29*&amp;amp;sidx=0&amp;amp;sopp=10">Part Two&lt;/a>&lt;/li>
&lt;li>The second last paragraph of &lt;a href="http://perze.blogspot.com/2011/04/so-you-think-you-know-automation-part.html">So you think you know automation? Part One&lt;/a> is &lt;em>extremely&lt;/em> important if you re doing automation. Which you likely are if you are reading this.&lt;/li>
&lt;li>&lt;a href="http://www.hexafoil.com/2011/04/regression-testing-reddit-with-selenium.html">Regression testing Reddit with Selenium Webdriver ruby bindings and Rspec&lt;/a> is nice in that it uses a public site, with known behaviour and illustrates how to do stuff beyond just the classic Google search. There is a link to the code and to a video of the execution as well.&lt;/li>
&lt;li>As I mentioned in my ‘OMG I just had a complete energy crash’ talk at Selenium Conf, Se-IDE is &lt;a href="http://blargon7.com/2011/04/testing-selenium-ide-with-mozmill/">starting to have a suite of Mozmills scripts&lt;/a> thanks to Dave Hunt&lt;/li>
&lt;li>The &lt;a href="http://altentee.com/blogs/2011/watir-webdriver-performance-gem-released/">watir-webdriver-performance gem&lt;/a> seems pretty neat. We really need to figure out how how to some sort of compatibility worked out (or at least documented if it exists) between the things that build off of ‘selenium’ and those that use ‘watir’ — since they use the same backend these days anyways.&lt;/li>
&lt;li>&lt;a href="http://blog.oio.de/2011/04/19/load-testing-gwt-applications-with-selenium-2-and-gradle/">Load testing GWT applications with Selenium 2 and Gradle&lt;/a> ‘shows how to do a load test on a GWT application that runs in production mode’&lt;/li>
&lt;li>I get a niggling feeling there has to be a better way to &lt;a href="http://www.brimllc.com/2011/01/extending-selenium-2-0-webdriver-to-support-ajax/">Extending Selenium 2.0 / WebDriver to support Ajax&lt;/a> but..&lt;/li>
&lt;li>&lt;a href="http://codeascraft.etsy.com/2011/04/20/divide-and-concur/">Divide and Concur&lt;/a> explains how Etsy chunk their Selenium scripts&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #48</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-48/</link><pubDate>Sat, 07 May 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-48/</guid><description>&lt;p>It’s catch-up time again! Here is the first 10.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://spin.atomicobject.com/2011/04/29/automated-tests-for-html5-offline-web-applications-with-capybara-and-selenium">Automated tests for HTML5 offline web applications with Capybara and Selenium&lt;/a> shows how a custom Firefox profile lets you automate Offline capabilities of HTML5 apps&lt;/li>
&lt;li>Robot Framework’s &lt;a href="http://code.google.com/p/robotframework-seleniumlibrary/wiki/ReleaseNotes27">SeleniumLibrary 2.7 has been released&lt;/a> primarily to pick up 2.0b3 of the Selenium Server.&lt;/li>
&lt;li>There was a series of posts about using Selenium with Drupal recently.
&lt;ul>
&lt;li>&lt;a href="http://ygerasimov.com/integrating-selenium-to-drupal-simpletest-framework">Selenium testing in Drupal&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://ygerasimov.com/run-selenium-tests-drupal-on-debian-headless">Run Selenium tests in Drupal on Debian headless&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://ygerasimov.com/drupal-selenium-tests-api">Drupal Selenium tests API&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://unmesh.wordpress.com/2011/04/22/using-xpath-axes-for-locating-elements-in-selenium/">Using XPath Axes for locating elements in Selenium&lt;/a> discusses some of the more advanced ways of finding elements via XPath&lt;/li>
&lt;li>I’ll follow that up with a link to the &lt;a href="https://github.com/santiycr/cssify">cssify&lt;/a> project which will attempt to automatically convert XPath locators to CSS&lt;/li>
&lt;li>And since we’re now onto CSS… &lt;a href="http://andy.edinborough.org/CSS-Stress-Testing-and-Performance-Profiling">CSS Stress Testing and Performance Profiling&lt;/a> discusses the &lt;a href="https://github.com/andyedinborough/stress-css">stress-css&lt;/a> bookmarklet. Which you can integrate into your Se scripts using a trick I discuss &lt;a href="http://element34.ca/blog/dom-monster-and-selenium">here&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/gregretkowski/vmth/">VMTH (Virtual Machine Test Harness)&lt;/a> seems like another thing to put into the automated deployment toolkit&lt;/li>
&lt;li>&lt;a href="http://googletesting.blogspot.com/2011/04/gtac-2011-cloudy-with-chance-of-tests.html">GTAC 2011&lt;/a> has been announced — seems to be moving away from the hard-core automation geekery that it was when it started.&lt;/li>
&lt;li>WatirGrid &lt;a href="http://altentee.com/blogs/2011/watirgrid-1-0-6-released-can-haz-selenium/">can haz Selenium&lt;/a> if you want a different model of browser distribution and are using Ruby. Naturally, &lt;a href="http://gridinit.com/public/examples">Gridinit also supports both now&lt;/a>&lt;/li>
&lt;li>If you are using Jenkins, &lt;a href="http://blog.cloudbees.com/2011/04/tgif-gift-video-recording-slides-of.html">Video recording, slides of “Securing Jenkins” webinar&lt;/a> could be useful viewing&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #47</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-47/</link><pubDate>Mon, 18 Apr 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-47/</guid><description>&lt;p>Nothing says ‘Hello Monday!’ like a batch of links and a wife with a kidney stone.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://martinfowler.com/articles/nonDeterminism.html">Eradicating Non-Determinism in Tests&lt;/a> is a nice essay by Martin Fowler and applies to Se as &lt;em>Left uncontrolled, non-deterministic tests can completely destroy the value of an automated regression suite.&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://twitpic.com/4kuem8" title="*Not* what you want to see on the fetal monitor when your wif... on Twitpic">&lt;img src="https://i0.wp.com/twitpic.com/show/thumb/4kuem8.jpg" alt="Not what you want to see on the fetal monitor when your wif… on Twitpic">&lt;/a>&lt;br>
Reminds us to disable automated updates on your remote machines.&lt;/li>
&lt;li>&lt;a href="https://launchpad.net/selenium-simple-test">Selenium Simple Automation Infrastructure&lt;/a> is &lt;em>a framework built on top of Selenium using Python to make writing scalable, data driven, functional web tests easier with code&lt;/em>.&lt;/li>
&lt;li>&lt;a href="http://lightsaberide.com/">Lightsaber IDE&lt;/a> is &lt;em>a A rite of passage – build your own tools just like the Jedi’s of The Old Republic&lt;/em> is all sorts of win. Build your own tools!&lt;/li>
&lt;li>JUnit in a page
&lt;ul>
&lt;li>&lt;a href="http://blog.thecodewhisperer.com/post/4559559633/classic-junit-3-on-one-page">JUnit 3&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.thecodewhisperer.com/post/4607284031/by-popular-demand-junit-4-on-one-page">JUnit 4&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://blog.browsermob.com/2011/04/configuring-the-local-validator-with-eclipse/">Configuring the local validator with Eclipse&lt;/a> is pretty useful if you use BrowserMob (and don’t have a hate-on for all things Eclipse)&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/ie/archive/2011/04/12/native-html5-first-ie10-platform-preview-available-for-download.aspx">Internet Explorer 10&lt;/a> – 10? WTF? Didn’t 9 just come out?&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2011/04/how-to-lose-races-and-win-at-selenium/">How to Lose Races and Win at Selenium&lt;/a> has a great trick to reduce duplicate code when creating custom synchronization functions. (Good job Joe!)&lt;/li>
&lt;li>Not that there is such a thing as a ‘Best Practice’, but &lt;a href="http://www.methodsandtools.com/tools/tools.php?rspec">RSpec Best Practices&lt;/a> is full of useful Best Practices.&lt;/li>
&lt;li>&lt;img src="https://i2.wp.com/i.imgur.com/y7Hm9.jpg" alt="">&lt;br>
Selenium – The Most Interesting Scripts In The World&lt;/li>
&lt;li>If you are scripting in Ruby, then the &lt;a href="http://blog.rubybestpractices.com/">Practicing Ruby&lt;/a> Ruby blog looks really good.&lt;/li>
&lt;li>While written for the Entrepeneur-set &lt;a href="http://blog.summation.net/2011/02/entrepreneur.html">The Entrepreneur vs. The Strategy Consultant&lt;/a> but could also apply to how one approaches automation.&lt;/li>
&lt;li>&lt;a href="http://rubygems.org/gems/tddium-preview">tddium&lt;/a> &lt;em>takes the pain out of running Selenium testing in cloud.&lt;/em>&lt;/li>
&lt;li>Jason Huggins was the guest on &lt;a href="http://twit.tv/floss161">FLOSS Weekly&lt;/a> last week.&lt;/li>
&lt;li>Not that using Excel as your data driver is a good idea, but if you did that with Java then &lt;a href="http://weblogs.java.net/blog/johnsmart/archive/2009/11/28/data-driven-tests-junit-4-and-excel">Data-driven tests with JUnit 4 and Excel&lt;/a> is going to be useful.&lt;/li>
&lt;li>&lt;a href="http://cburgmer.posterous.com/using-selenium-to-validate-xhtml-markup-using">Using Selenium to validate XHTML markup using lettuce&lt;/a> is a cool trick to validate your HTML per W3C’s definition of good.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #46</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-46/</link><pubDate>Mon, 11 Apr 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-46/</guid><description>&lt;p>Let’s put &lt;a href="http://blog.reallysimplethoughts.com/2011/04/07/selenium-ide-on-firefox-4-is-available-for-testing-now/">Selenium IDE on Firefox 4 is Available for Testing! Now!&lt;/a> outside of the normal list. We have a ‘working’ version of Se-IDE for FF4, but don’t really have too too much faith in it (or at least I don’t). Please help test it.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.pragprog.com/magazines/2011-04/test-abstraction">Eight Techniques to Improve Your Tests&lt;/a> is focused on unit tests, but I’m sure something can be gained from them&lt;/li>
&lt;li>Runners are great fun. &lt;a href="http://www.devinprogress.info/2011/04/how-play-framework-test-runner-works.html">How the play framework test runner works&lt;/a> is therefor also great fun.&lt;/li>
&lt;li>Manage your EC2 instances in your Grid with &lt;a href="https://github.com/wr0ngway/rubber">rubber&lt;/a>; a plugin for capistrano&lt;/li>
&lt;li>Some post SeConf blogs are starting to appear
&lt;ul>
&lt;li>Michael Larsen’s &lt;a href="http://mkl-testhead.blogspot.com/2011/04/selenium-conference-day-1.html">Day One&lt;/a>, &lt;a href="http://mkl-testhead.blogspot.com/2011/04/selenium-conference-day-2.html">Day Two&lt;/a>, &lt;a href="http://mkl-testhead.blogspot.com/2011/04/selenium-conference-day-3.html">Day Three&lt;/a>&lt;/li>
&lt;li>Andy Tinkham &lt;a href="http://testerthoughts.com/2011/04/08/mind-mapping-the-selenium-conference-2011/">mindmapped it&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>While not related directly to automation &lt;a href="http://blogs.discovermagazine.com/notrocketscience/2011/03/30/the-writing-process/">The writing process&lt;/a> mimics the script creation process; at least for me.&lt;/li>
&lt;li>&lt;a href="http://www.affirmit.org/">AffirmIt!&lt;/a> is an April Fool’s joke (I think!) but still good anyways.&lt;/li>
&lt;li>&lt;a href="https://github.com/scottcsims/SeleniumFury">Selenium Fury&lt;/a> is a Page Object factory for Ruby.&lt;/li>
&lt;li>It is always important to remember the &lt;a href="http://www.testingmentor.com/imtesty/2011/03/27/bugs-that-automated-tests-arent-good-at-finding/">Bugs that automated tests aren’t good at finding&lt;/a>&lt;/li>
&lt;li>Care about using Twist with either the Android or IOS WebDriver APIs? &lt;a href="http://twist4all.wordpress.com/2011/03/23/twist-selenium2/">Configuring Twist for Selenium 2&lt;/a> could make you happy then.&lt;/li>
&lt;li>&lt;a href="http://adam.heroku.com/past/2011/4/1/logs_are_streams_not_files/">Logs Are Streams, Not Files&lt;/a> is an interesting notion to remember.&lt;/li>
&lt;li>All the talks from &lt;a href="http://skillsmatter.com/event/agile-testing/cukeup/js-1541">CukeUp!&lt;/a> are online. Because I need to have even &lt;em>more&lt;/em> things to not to have time to watch.&lt;/li>
&lt;li>&lt;a href="http://blog.softwaretestingclub.com/2011/04/selenium-commands-locators-explained/">Selenium Commands &amp;amp; Locators Explained&lt;/a> is the next in Dave Hunt’s guest series at the Software Testing Club. Pay extra attention to the last sentence of the Link section&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/spynner/">Spynner&lt;/a> is a &lt;em>stateful programmatic web browser module for Python with Javascript/AJAX support based upon the QtWebKit framework&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://groups.google.com/group/comp.lang.python/msg/8d79c5ee3913f82d">Bring out your dead!&lt;/a> applies just as much to Selenium as it does Python.&lt;/li>
&lt;li>No idea how I found &lt;a href="http://code.google.com/p/design-of-selenium-tests-for-asp-net/">design of selenium tests for asp net&lt;/a> seems pretty useful. Or at least from the table of contents.&lt;/li>
&lt;li>The &lt;a href="http://www.ibm.com/developerworks/java/library/j-gloverpodcast2/index.html#huggins">Java technology zone technical podcast series&lt;/a> has a pretty current podcast with Jason Huggins and Simon Stewart that deals with upgrades, etc.&lt;/li>
&lt;li>&lt;a href="http://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/">XPath, CSS, DOM and Selenium: The Rosetta Stone&lt;/a> — given we spent all week last week harping on using CSS instead of XPath, this is a win.&lt;/li>
&lt;li>An excellent reminder that it is not always just the raw number that you need to understand, but the story of the number can be found in &lt;a href="http://blog.dynatrace.com/2011/04/11/why-you-cant-compare-cross-browser-execution-times-of-selenium-tests/">Why you can’t compare cross browser execution times of Selenium Tests&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #45</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-45/</link><pubDate>Mon, 28 Mar 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-45/</guid><description>&lt;p>A Smattering of Selenium #45&lt;/p>
&lt;p>So of course by now everyone has seen &lt;a href="https://seleniumhq.wordpress.com/2011/03/21/selenium-2-0b3-the-next-gen-browser-release/">Selenium 2.0b3: The Next Gen Browser Release&lt;/a> and upgraded their rigs. Expect Selenium IDE at some point in the next week with support for FF4 — if you just. can’t. wait. then you could try the bleeding edge for yourself. &lt;a href="http://code.google.com/p/selenium/issues/list">Logging any bugs&lt;/a> you find; of course.&lt;/p>
&lt;p>Oh, and there is the whole &lt;a href="http://www.seleniumconf.com/">Selenium Conference&lt;/a> next week.&lt;/p>
&lt;p>But aside from that, here are the things I have collected.&lt;/p></description></item><item><title>A Smattering of Selenium #44</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-44/</link><pubDate>Mon, 07 Mar 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-44/</guid><description>&lt;p>What started out as the week of Capybara rounded itself out fairly nicely&lt;/p>
&lt;ul>
&lt;li>
&lt;p>I’m not a fan of using 3rd party abstraction layers (1st party are full win though) but Capybara has a large marketshare so &lt;a href="http://opinionated-programmer.com/2011/02/capybara-and-selenium-with-rspec-and-rails-3">Capybara (and Selenium) with RSpec &amp;amp; Rails 3: quick tutorial&lt;/a> is likely going to be of interest to people.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>And while on the subject of Capybara, here is a post on &lt;a href="http://testobsessed.com/2011/03/01/checking-invisible-elements/">Checking Invisible Elements&lt;/a> in it.&lt;/p></description></item><item><title>A Smattering of Selenium #43</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-43/</link><pubDate>Mon, 28 Feb 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-43/</guid><description>&lt;ul>
&lt;li>The big thing in the new last week was ColdFusion. Yes, ColdFusion. I was amazed how much mention it got on Twitter.
&lt;ul>
&lt;li>&lt;a href="http://www.silverwareconsulting.com/index.cfm/2011/2/22/Introducing-CFSelenium--A-Native-ColdFusion-Client-Library-for-SeleniumRC">Introducing CFSelenium – A Native ColdFusion Client Library for Selenium-RC&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.silverwareconsulting.com/index.cfm/2011/2/23/Export-SeleniumIDE-Scripts-in-CFSelenium-ColdFusion-Format">Export Selenium-IDE Scripts in CFSelenium (ColdFusion) Format&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/bobsilverberg/CFSelenium">GitHub repo&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://thecrumb.com/2011/02/25/cfselenium-and-virtualbox">CFSelenium and VirtualBox&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://seleniumcamp.com/">SeleniumCamp&lt;/a> happened over the weekend and from the looks of things was a success. And had almost an &lt;a href="http://twitpic.com/4403rt">even number of women as men&lt;/a> — which is almost unheard of at these sorts of things. David Burns &lt;a href="http://www.theautomatedtester.co.uk/blog/2011/selenium-camp-slides-and-thoughts.html">posted his thoughts on it&lt;/a> and slide decks are starting to make it online now; &lt;a href="http://twitter.com/#search?q=%23seleniumcamp">search for #seleniumcamp&lt;/a> for the ones I have missed.
&lt;ul>
&lt;li>&lt;a href="http://www.slideshare.net/kolesnik_nickolay/bdd-approach-with-selenium-rc">BDD approach with Selenium RC&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/khroliz/flex-selenium-rc">Flex Selenium RC&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/SergeyShvets/testing-ria-with-selenium">Testing RIA with Selenium&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/yanusa3/selenium-rc-for-qa-engineer">Selenium RC for QA Engineer&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/KonstantinPrishchenko/selenium-rc-python">Selenium RC Python&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/AndrewDzynia/full-scale-automation-using-selenium">Full Scale Automation Using Selenium&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/mcgray/story-testing-approach-for-enterprise-applications-using-selenium-framework">Story Testing Approach for Enterprise Applications using Selenium Framework&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/alimenkou/selenium-wiki-executable-specification">Selenium + Wiki = Executable Specification&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/alimenkou/dsl-page-object-and-selenium-a-way-to-reliable-functional-tests">DSL, Page Object and Selenium – a way to reliable functional tests&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/AutomatedTester/selenium-2-the-future-of-selenium-is-now">Selenium 2: The Future of Selenium is now!&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://picasaweb.google.com/aleksey.solntsev/SeleniumCamp">more photos&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>A cool trick to get coverage number if you are using IIS is shown in &lt;a href="http://docs.ncover.com/how-to/code-coverage-of-asp-net-applications-on-iis/">Code Coverage of ASP.NET Applications On IIS&lt;/a> — so how does one do similar for other web stacks?&lt;/li>
&lt;li>&lt;a href="http://www.simple-talk.com/community/blogs/benadderson/archive/2009/09/10/74787.aspx">Adding a [URL] attribute to the [Browser] attribute for xUnit.net&lt;/a> is a post I’m having a hard time summarizing, but seems pretty cool.&lt;/li>
&lt;li>&lt;a href="http://www.popkram.com/blog/2011/02/ui-testing-your-episerver-site-with-selenium-and-specflow/">UI testing your EPiServer site with Selenium and SpecFlow&lt;/a> is another how-to post.&lt;/li>
&lt;li>&lt;a href="http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language">Amount of profanity in git commit messages per programming language&lt;/a> is just fun.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #42</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-42/</link><pubDate>Mon, 21 Feb 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-42/</guid><description>&lt;p>Is this week’s post the Answer to the Ultimate Question of Life, the Universe, and Everything Selenium?&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://deanhume.com/Home/BlogPost/selenium-2---get-number-of-rows-in-a-table/52">Selenium 2 – Get Number of Rows in a Table&lt;/a> illustrates what is advertised, though it feels like there has to be a shorter way to do this along the lines of getXpathCount() or getCssCount()&lt;/li>
&lt;li>&lt;a href="http://leonardinius.blogspot.com/2011/02/atlassian-plugin-sdk-how-to-provide.html">Atlassian Plugin SDK – how to provide optional selenium tests&lt;/a> explains how to wire up Se with the Atlassian toolkit and has a couple task specific tips as well.&lt;/li>
&lt;li>&lt;a href="http://jwbito.ballardview.com/2011/02/automated-test-for-facebook-canvas-apps.html">Automated Test for Facebook Canvas Apps – Front-end automation with Selenium&lt;/a> is very buzzword compliant: Selenium-WebDriver, Facebook, Canvas. All it needs is to run on a mobile device.&lt;/li>
&lt;li>Sauce Labs have released &lt;a href="http://code.google.com/p/se-builder/">Se-Builder&lt;/a> which is their interpretation of what a next generation record/playback tool might look like.&lt;/li>
&lt;li>I’m sure I had to know about this already, but &lt;a href="http://www.wakaleo.com/books/continuous-integration-with-hudson-the-book">Jenkins: The Definitive Guide&lt;/a> is an open-source book on everyone’s favourite politically embroiled CI server. Speaking of politics, here is an &lt;a href="http://daniel.gredler.net/2011/02/15/hudson-and-jenkins-two-weeks-later/">interesting graph&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/">Measure Anything, Measure Everything&lt;/a> seems pretty cool. Suspect you could do something in your scripts to ping the counter so you could get visualizations of your runs.&lt;/li>
&lt;li>&lt;a href="https://github.com/energizedwork/selenium-ide-nle">Se-IDE Natural Language Extension&lt;/a> is &lt;em>very&lt;/em> cool. Now, if only they had gone the extra step to make it a &lt;a href="http://seleniumhq.org/projects/ide/plugins.html">plugin&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.bettersoftwaretesting.com/?p=16">Pushing the Boundaries of Test Automation&lt;/a> is useful if you too are pushing boundaries — and most people are at least once per application&lt;/li>
&lt;li>&lt;a href="https://www.assembla.com/wiki/show/liftweb/Testing">Lift Testing&lt;/a> has an example of writing Se scripts using ScalaTest. Think that is the first time I’ve seen that.&lt;/li>
&lt;li>&lt;a href="http://koenwillemse.wordpress.com/2011/02/16/custom-c-formatter-for-selenium/">Custom C# formatter for Selenium&lt;/a> details a bit of the journey and links to a formatter that uses &lt;a href="http://fluentassertions.codeplex.com/">Fluent Assertions&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://weblogs.mozillazine.org/stephend/archives/2011/02/the_case_for_se.html">The Case for “Longevity/Endurance” (Session-Based Testing) in Selenium&lt;/a> partially rebuts the single, small, Se script idea. Or at least provides a counter example.&lt;/li>
&lt;li>I hack runners for fun, so &lt;a href="http://www.skorks.com/2011/02/a-unit-testing-framework-in-44-lines-of-ruby/">A Unit Testing Framework In 44 Lines Of Ruby&lt;/a> has all sorts of geek appeal.&lt;/li>
&lt;li>&lt;a href="http://www.ivaturi.org/home/hackingseleniumtoimproveitsperformanceonie">Hacking Selenium to improve its performance on IE&lt;/a> has, well, hacks to improve Se time on IE. These are Se-RC specific, but came up in an Se-WebDriver context.&lt;/li>
&lt;li>&lt;a href="http://blog.xebia.fr/2011/02/18/automatiser-les-tests-selenium-avec-maven/">Automatiser les tests Selenium avec Maven&lt;/a> took over the selenium twitter search for a day or so — which isn’t that interesting except that it is French. Seems there is an under-served market there. Oh, and Google Translate is horrible on pom.xml examples.&lt;/li>
&lt;li>&lt;a href="http://jshint.com/">JSHint&lt;/a> is another of those things that would be fun to integrate into a Se run&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #41</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-41/</link><pubDate>Mon, 14 Feb 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-41/</guid><description>&lt;p>There isn’t an official announcement anywhere (yet) but Selenium 2.0b2 was released a couple hours ago. Time to upgrade all your servers. Beta 3 is going to focus on IE9 and FF4 support.&lt;/p>
&lt;p>Meanwhile…&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.maestrodev.com/events/webinar/a-webinar-on-automated-selenium-testing-with-maestro-3">A Webinar on Automated Selenium Testing with Maestro 3&lt;/a> could be interesting if you are considering the Maestro platform.&lt;/li>
&lt;li>And sticking with the webinar idea, Sauce Labs is hosting &lt;a href="http://saucelabs.com/blog/index.php/2011/02/selenium-2-webinar-the-next-generation-of-web-and-mobile-application-testing/">Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing&lt;/a>&lt;/li>
&lt;li>After a bit of stagnation, the &lt;a href="http://pypi.python.org/pypi/selenium/">official Python drivers&lt;/a> are starting to get updated again.&lt;/li>
&lt;li>After almost a year, a new version of &lt;a href="http://code.google.com/p/js-test-driver/">js-test-driver&lt;/a> is out.&lt;/li>
&lt;li>&lt;a href="http://www.simple-talk.com/dotnet/.net-tools/web-testing-with-selenium-sushi-a-practical-guide-and-toolset/">Selenium Sushi&lt;/a> is a support library / package for .NET&lt;/li>
&lt;li>&lt;a href="http://www.typo3-media.com/blog/window-driver-page-object-selenium-tests.html">Window Driver Pattern for Acceptance Tests&lt;/a> illustrates Page Objects for PHP (though I don’t think it goes as far as it should in terms of abstractions).&lt;/li>
&lt;li>Aside from locators, the next biggest pain point is synchronization. &lt;a href="http://saucelabs.com/blog/index.php/2011/02/advanced-selenium-synchronization-with-latches/">Advanced Selenium Synchronization with ‘Latches’&lt;/a> is how I address that.&lt;/li>
&lt;li>Need an easy way to communicate Selenese steps on something like Stack Overflow? The &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/separated-values-formatter/">Separated Values Formatter&lt;/a> could be just the trick.&lt;/li>
&lt;li>Selenesse is a mash-up of Fitnesse and Selenium. If you are going to StarEast and want to learn it from one of the maintainers then &lt;a href="http://www.passionatetester.com/2011/02/want-to-learn-selenesse-hands-on.html">Want to learn SeleNesse hands-on?&lt;/a> is for you.&lt;/li>
&lt;li>&lt;a href="http://watirmelon.com/2011/02/07/your-automated-acceptance-tests-neednt-be-written-in-the-same-language-as-your-system-being-tested/">Your automated acceptance tests needn’t be written in the same language as your system being tested&lt;/a> explains a trap that too many teams fall into&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #40</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-40/</link><pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-40/</guid><description>&lt;p>You would think by now that I wouldn’t be surprised by the number of links I collect in a week.&lt;/p>
&lt;ul>
&lt;li>The big news last week is that we (Selenium) have successfully avoided the whole Hudson/Jenkins drama by joining the &lt;a href="http://sfconservancy.org/">Software Freedom Conservancy&lt;/a>.
&lt;ul>
&lt;li>&lt;a href="https://seleniumhq.wordpress.com/2011/02/02/selenium-joins-the-software-freedom-conservancy/">Se Announcement&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://sfconservancy.org/news/2011/feb/02/selenium-joins">Conservancy Announcement&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Speaking of Hudson/Jenkins, here is how &lt;a href="http://wiki.jenkins-ci.org/display/JENKINS/Upgrading&amp;#43;from&amp;#43;Hudson&amp;#43;to&amp;#43;Jenkins">to upgrade a Hudson install to Jenkinss&lt;/a>&lt;/li>
&lt;li>I don’t like a lot of the messaging of the whole ‘Lean Startup’ scene, but they have some things to steal though. &lt;a href="http://www.thehackerchickblog.com/2011/02/continuous-deployment-for-continuous-learning.html">Is Deploying to Production 50x/Day a GOOD Idea?&lt;/a> lists some
&lt;ul>
&lt;li>Immune Systems&lt;/li>
&lt;li>Visibility of Changes&lt;/li>
&lt;li>Release is a Marketing Term&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://queue.acm.org/detail.cfm?id=1925091">Finding Usability Bugs with Automated Tests&lt;/a> covers automation to discover Layout and Navigation accessibility and usability problems through automation&lt;/li>
&lt;li>&lt;a href="http://watir.com/watir-day/">Watir Day&lt;/a> it the day before Selenium Conf; come hang out and learn about our Ruby sibling&lt;/li>
&lt;li>&lt;a href="http://stackoverflow.com/questions/2536652/how-to-use-javascript-xpath">How to use javascript-xpath&lt;/a> is one of those rare SO questions I stumble on that actually provides insight to a rare corner of the API&lt;/li>
&lt;li>The &lt;a href="http://www.phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.data-providers">PHPUnit docs&lt;/a> have been updated to include an example of a Data Provider that returns an Iterator object. This caused me a half day of pain so is getting a link. (Data Providers are awesome btw. Not just in PHPUnit, but in xUnit frameworks.)&lt;/li>
&lt;li>The first half of &lt;a href="http://blog.browsermob.com/2011/02/regular-expressions-and-pattern-matching-with-browsermob-and-selenium/">Regular Expressions and Pattern Matching with BrowserMob and Selenium&lt;/a> is only going to be useful to you if you are a BrowserMob VU user, but the second half is interesting or &lt;em>very&lt;/em> important depending on how crazy your site is to automate. If you are using XPath and not doing starts-with, ends-with or contains you &lt;em>are&lt;/em> writing brittle locators.&lt;/li>
&lt;li>&lt;a href="http://www.infoq.com/news/2011/01/testing-legacy-application">Starting Test Automation for a Legacy Project&lt;/a> is a summary of a thread on the Agile Testing mailing list&lt;/li>
&lt;li>The demo code in &lt;a href="http://www.theautomatedtester.co.uk/blog/2011/ddd9-slides-and-thoughts.html">DDD9 – Slides and thoughts&lt;/a> has examples of using Page Objects for C#&lt;/li>
&lt;li>&lt;a href="http://splinter.cobrateam.info/">splinter&lt;/a> seems to be one of the first projects to wrap around / build upon Se2&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #39</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-39/</link><pubDate>Mon, 31 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-39/</guid><description>&lt;p>Hey look! All caught up — only took a month…&lt;/p>
&lt;ul>
&lt;li>My opinions on Continuous Deployment are pretty widely known, but the IMVU folks certainly have a lot of neat tricks to ‘borrow’. Such as &lt;a href="http://engineering.imvu.com/2011/01/19/buildbot-and-intermittent-tests/">Buildbot and Intermittent Tests&lt;/a>&lt;/li>
&lt;li>Dealing with an API that returns XML? Your scripts don’t care about the readibility, but it helps you as the human if it is formatted pretty. &lt;a href="http://www.shell-tools.net/index.php?op=xml%5Fformat">xml formatter&lt;/a> is a glorious time save in that case.&lt;/li>
&lt;li>Who would have predicted this… Perl stuff
&lt;ul>
&lt;li>&lt;a href="http://onyxneon.com/books/modern_perl/">Modern Perl&lt;/a> is a free Creative Commons book on Perl (with a dead-tree version also available)&lt;/li>
&lt;li>I had thought the &lt;a href="http://search.cpan.org/dist/Test-WWW-Selenium/">Se-RC style bindings&lt;/a> had been abandoned, but heard &lt;a href="http://twitter.com/davehodg/statuses/30312545696878592">second hand&lt;/a>, they are alive and well.&lt;/li>
&lt;li>&lt;a href="https://github.com/aivaturi/Selenium-Remote-Driver">Webdriver Remote Driver&lt;/a> is the start of work on a Se2 driver. Now to get the two projects working together.&lt;/li>
&lt;li>And the reason for the Perl stuff is &lt;a href="http://www.davehodgkinson.com/blog/2011/01/hudson-and-selenium/">Hudson and Selenium&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Since Se is using Sizzle now for locators, comes &lt;a href="http://twitter.com/envatowebdev/statuses/30833435383701504">a tip&lt;/a> – &lt;em>never do things like $(‘form *’). This is crazy costly, because Sizzle works from right to left. Will grab all elems first.&lt;/em>. Not sure of the accuracy, but it makes sense.&lt;/li>
&lt;li>Part of the debate when doing BDD and TDD is the overlap that [naturally] occurs; &lt;a href="http://gojko.net/2011/01/28/duplication-between-bdd-and-unit-tests/">Duplication between BDD and Unit tests&lt;/a> addresses it, partly be reframing the question.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/webkitdriver/">webkitdriver&lt;/a> is a project that &lt;em>aims to provide a WebDriver implementation for a light-weight in memory Web Browser&lt;/em>&lt;/li>
&lt;li>This week’s Selenium &lt;em>killer&lt;/em> is &lt;a href="http://ariya.blogspot.com/2011/01/phantomjs-minimalistic-headless-webkit.html">PhantomJS&lt;/a>&lt;/li>
&lt;li>Achievement parodies are always amusing; here is on for &lt;a href="http://blog.whiletrue.com/2011/01/what-if-visual-studio-had-achievements/">Visual Studio&lt;/a> — what would the Selenium ones look like?&lt;/li>
&lt;li>Koans are a trendy way to learn / practice a language. Here is a &lt;a href="http://www.rubygeek.com/2011/01/22/koan-a-copia/">Koan-a-copia of them&lt;/a>&lt;/li>
&lt;li>Want onto the speaking circuit? The 2011 &lt;a href="http://www.verifyati.com/index.php?option=com_jforms&amp;amp;view=form&amp;amp;id=1&amp;amp;Itemid=85">Verify/ATI Conference is asking for presentations&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #38B</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-38b/</link><pubDate>Tue, 25 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-38b/</guid><description>&lt;p>Will today be the day I finish three weeks of catch-up? Well, no..&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://www.cheezyworld.com/2010/12/16/ui-tests-putting-it-all-together/">UI Tests – putting it all together&lt;/a> summarizes the series of posts using Watir and Cucumber, but the ideas could be converted to Se pretty easily.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I haven’t read it, but &lt;a href="http://www.ryber.se/?p=213">Essential Software Testdesign&lt;/a> is now available for free [legitimately] as a pdf. Test Design is something I expect to see more discussion around in 2011 when it comes to Se automation. The rules really are different here.&lt;/p></description></item><item><title>A Smattering of Selenium #38A</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-38a/</link><pubDate>Mon, 24 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-38a/</guid><description>&lt;p>No. Really. I’m almost caught up.&lt;/p>
&lt;ul>
&lt;li>Want input in a non-english language but don’t want to convert your whole machine? &lt;a href="http://inputking.com/">InputKing&lt;/a> might be able to help. And the fact it is in a browser means we can use it via Se.&lt;/li>
&lt;li>HAR (HTTP Archive) is the format the cool kids are talking about, and now there is a &lt;a href="http://rubygems.org/gems/har">har gem&lt;/a> so you can make use of HAR files in you [Ruby] scripts.&lt;/li>
&lt;li>Organizing scripts by tagging them is one bandwagon I got on last year to great success and while I don’t really live in the MS toolset, &lt;a href="http://blog.simontimms.com/2011/01/test-categories-for-mstest.html">Test Categories for MSTest&lt;/a> is likely how how I would do it MSTest.&lt;/li>
&lt;li>Selenium won an award! Again! See &lt;a href="http://www.youtube.com/watch?v=XY7aQbi2N0g">the video of Se winning ‘Best Open Source Functional Automated Test Tool’&lt;/a>&lt;/li>
&lt;li>How a script is named is a reflection of the person who wrote it, in &lt;a href="http://stevesmithblog.com/blog/unit-test-naming-convention/">Unit Test Naming Convention&lt;/a> one such style is described and the reasoning explained. Just ignore the second half of the summary’s first sentence though.&lt;/li>
&lt;li>Michael Larson is Working his way though &lt;a href="http://www.packtpub.com/selenium-1-0-testing-tools-beginners-guide/book">Selenium 1.0 Testing Tools Beginners Guide&lt;/a> and documenting it in a series of blog posts he is calling &lt;a href="http://mkl-testhead.blogspot.com/search/label/PRACTICUM">a practicum&lt;/a>&lt;/li>
&lt;li>Most people use Se to create a regression security blanked, but it there are some points to be discussed around &lt;a href="http://investigatingsoftware.blogspot.com/2010/12/arrogance-of-regression-testing.html">the arrogance of regression testing&lt;/a>&lt;/li>
&lt;li>ATDD continues to mature and the results of two different pattern workshops &lt;a href="http://www.managing-expectations.com/?p=1326">have now been posted&lt;/a>. If you are using Cucumber, RobotFramework, Fitnesse, etc. you might want to pay attention.&lt;/li>
&lt;li>It always saddens me a bit when large threads pop up &lt;a href="http://www.linkedin.com/groupItem?view=&amp;amp;srchtype=discussedNews&amp;amp;gid=961927&amp;amp;item=38882290&amp;amp;type=member&amp;amp;trk=EML_anet_ac_pst_ttle">on how to manage Se scripts&lt;/a>. It’s called version control kids. But I realize I’m an outlier on this.&lt;/li>
&lt;li>I suspect a lot of Se folks have a similar tale to &lt;a href="http://blog.abakas.com/2011/01/how-i-learned-to-code.html">How I Learned To Code&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #37B</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-37b/</link><pubDate>Wed, 19 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-37b/</guid><description>&lt;p>Let’s see how many announcements there were that didn’t get pushed out in a timely manner today shall we?&lt;/p>
&lt;ul>
&lt;li>Well, there is of course &lt;a href="https://seleniumhq.wordpress.com/2011/01/17/selenium-conf-is-coming-get-your-proposals-in/">Selenium Conf is coming&lt;/a> and you have until Friday to get your proposals in. Last I heard we had 37 which is impressive, but I think 50 should be doable.&lt;/li>
&lt;li>On the meetup side of things there is
&lt;ul>
&lt;li>&lt;a href="http://www.meetup.com/Greater-Boston-Selenium-Users-Group/calendar/15997626/">Boston on January 25&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.meetup.com/NYCSelenium/">NYC on January 26&lt;/a> (its not on the site yet, but I’m speaking, so trust me, it exists)&lt;/li>
&lt;li>&lt;a href="http://www.meetup.com/seleniumlondon/calendar/16079171/">London on March 23&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://seleniumcamp.com/">SeleniumCamp&lt;/a> (&lt;a href="http://translate.google.ca/translate?u=http%3A%2F%2Fseleniumcamp.com%2F&amp;amp;sl=ru&amp;amp;tl=en&amp;amp;hl=&amp;amp;ie=UTF-8">English&lt;/a>) is coming to Kiev at the end of February. Suddenly we go from no ‘events’ to lots.&lt;/li>
&lt;li>I’m kinda surprised no one has done this one yet, but a &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-fitnesse-formatte/">FitNesse Formatter&lt;/a> plugin for Se-IDE is up on AMO&lt;/li>
&lt;li>&lt;a href="http://blog.reallysimplethoughts.com/2010/12/28/the-selenium-expert-is-here/">Selenium Expert&lt;/a> is a plugin that &lt;em>brings the wonderful world of inspections, tips, hints, fixes and refactoring to Selenese&lt;/em>. Samit is a plug-in making machine.&lt;/li>
&lt;li>Gorilla Logic have &lt;a href="http://blog.gorillalogic.com/2010/12/16/flexmonkium-4-1-4-released/">have released a new version of FlexMonkium&lt;/a> — with with fully synchronized versioning.&lt;/li>
&lt;li>&lt;a href="http://seleniumspec.codeplex.com/">SeleniuMspec&lt;/a> is a cleverly named formatter for Mspec — though it isn’t distributed as an Se-IDE plugin (which would +1 its coolness)&lt;/li>
&lt;li>And I quote, &lt;em>Hewlett-Packard (HP) is announcing the discontinuance of HP WinRunner (WR) 7.5, 7.6, 8.0, 8.2, 9.2 (all editions) products.&lt;/em>. Is it wrong to say something like ‘Ding, dong, the witch is dead’?. Of course, we wouldn’t likely be here without WR, but who doesn’t love some friendly-ish ribbing? Here is he full &lt;a href="http://support.openview.hp.com/encore/wr.jsp">notice&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://www.getkrypton.com/">Krypton&lt;/a> appears to be a cloud service for managing your Se scripts and has a ‘we need testers’ box on their site if anyone is curious&lt;/li>
&lt;li>And to illustrate that this space seems to have potential, or people think it does at any rate, &lt;a href="http://www.testrunnr.com/">Test Runnr&lt;/a> also does cloud based script management with the added feature of running scripts against the &lt;a href="http://saucelabs.com">Sauce Labs&lt;/a> OnDemand cloud. So if you have a cloud based app that you script with Selenium stored in the cloud and executed in the cloud are you yourself a meta-cloud company?&lt;/li>
&lt;/ul>
&lt;p>More tomorrow as we dig ourselves out of the hole.&lt;/p></description></item><item><title>A Smattering of Selenium #37A</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-37a/</link><pubDate>Mon, 17 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-37a/</guid><description>&lt;p>My scheme for catching up with links last week ran afoul of 900 geeks and their families melting the internets at &lt;a href="http://codemash.org">CodeMash 2.0.1.1&lt;/a>. So let’s try it again this week.&lt;/p>
&lt;ul>
&lt;li>Capturing screenshots on script failure is a common trick and &lt;a href="http://deanhume.com/Home/BlogPost/capturing-web-page-screenshots-with-selenium-2/48">Capturing Web Page Screenshots with Selenium 2&lt;/a> is the first post I have seen that explains how to do with with Selenium WebDriver&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2011/01/selenium-xpath-marks-the-spot/">XPath marks the spot&lt;/a> uses a treasure map analogy around how to create good XPath — but at the same time propagates the ‘XPath is Inherently Evil’ myth. I intentionally don’t link to myself nearly as much as I could, but think that my comment in the post is important.&lt;/li>
&lt;li>&lt;a href="http://manbuildswebsite.com/2010/12/20/domain-test-values/">Unit Test Patterns: The Domain Test Values Class&lt;/a> describes a pattern to &lt;em>provide values used in the testing of a domain in a way which improves understanding of test code by increasing readability and adding meaning to values.&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://github.com/tlrobinson/leakhelper">leakhelper&lt;/a> is another of those tools that could be cool to integrate into your Se scripts. And if you do, don’t forget to document it and point it out to me…&lt;/li>
&lt;li>&lt;a href="http://blogs.atlassian.com/devtools/2010/12/missiles-failed-builds-bamboo-punisher.html">Missiles + Failed Builds = Bamboo Punisher&lt;/a> — actually, its a crazy high level of awesome&lt;/li>
&lt;li>&lt;a href="http://www.michaeldkelly.com/archives/548">Software Testing Lightning Talks from IWST&lt;/a> includes some on automation at the end — but lots of good non-automation ones as well&lt;/li>
&lt;li>&lt;a href="http://blog.codecentric.de/en/2010/12/testing-smartgwt-applications-with-selenium-and-robot-framework/">Testing SmartGWT Applications with Selenium and Robot Framework&lt;/a> is more Robot Framework goodness including &lt;em>Add some meaningful ID’s to your code&lt;/em> — which is actually for SmartGWT but makes life so much easier&lt;/li>
&lt;li>The author of Selenium Simplified compares his book to Selenium 1.0 Testing Tools in &lt;a href="http://www.eviltester.com/index.php/2010/12/29/so-now-you-have-a-choice-of-selenium-testing-books-and-ebooks/">So now you have a choice of Selenium Testing books and ebooks&lt;/a> is a pretty fair and well-reasoned article. (Short version: buy both)&lt;/li>
&lt;li>We can’t go a couple months without someone rediscovering the joys of sending text to the browser. This time it is &lt;a href="http://blog.projectdirigible.com/?p=671">Functional testing with Selenium: issues with selenium.type, javascript events and keyPressNative&lt;/a> but has the additional twist of including a solution in code and not just whinging.&lt;/li>
&lt;li>If you are a .NET developer, then &lt;a href="http://www.bryancook.net/2011/01/selenium-toolkit-for-net-084-released.html">Selenium Toolkit for .NET 0.84 Released&lt;/a> might be of interest.&lt;/li>
&lt;/ul>
&lt;p>And assuming I remembered to pay the internet bill, there will be more links tomorrow.&lt;/p></description></item><item><title>A Smattering of Selenium #36B</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-36b/</link><pubDate>Tue, 11 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-36b/</guid><description>&lt;p>Second in a week-long series of catch-up posts. But before I get to the next batch of links, don’t forget to submit your proposals to speak at the first &lt;a href="http://www.seleniumconf.com/">Selenium Conference&lt;/a>. I’m pretty sure we’re going to be trying to pick out the talks next week.&lt;/p>
&lt;ul>
&lt;li>Can we &lt;em>please&lt;/em> adopt this as &lt;a href="http://www.geneticanomaly.com/RPG-Motivational/slides/lawfulevil.html">the official poster&lt;/a> for Selenium? Please?&lt;/li>
&lt;li>If you are a C# developer looking to get started with Selenium WebDriver, &lt;a href="http://deanhume.com/Home/BlogPost/automated-testing-with-selenium-2-and-nunit/47">Automated Testing with Selenium 2 and NUnit&lt;/a> seems like a good place to start&lt;/li>
&lt;li>Per the who ‘bringing order to the universe’, &lt;a href="http://watirmelon.com/2010/12/14/watir-webdriver-a-detailed-introduction/">Watir-WebDriver: A detailed introduction&lt;/a> shows how to drive Watir using Selenium WebDriver&lt;/li>
&lt;li>&lt;a href="http://www.mathpirate.net/log/2009/12/23/ui-automation-tricks-and-traps/">UI Automation: Tricks and Traps&lt;/a> has, well, umm, tricks to try and traps to avoid. Shocking. I know.&lt;/li>
&lt;li>JUnit’s @Rule stuff is pretty serious magic, but really interesting. Here is &lt;a href="http://cwd.dhemery.com/2010/12/junit-rules/">Using Rules to Influence JUnit Test Execution&lt;/a> and &lt;a href="http://cwd.dhemery.com/2011/01/what-junit-rules-are-good-for/">What JUnit Rules are Good For&lt;/a>&lt;/li>
&lt;li>Some more information on how to use the Flash ExternalInterface is in &lt;a href="http://blog.browsermob.com/2010/12/interaction-with-flash-using-selenium-and-javascript-%E2%80%93-part-2/">Interaction with Flash using Selenium and Javascript – Part 2&lt;/a>&lt;/li>
&lt;li>xvfb and cucumber collide in &lt;a href="http://www.sarahmei.com/blog/2010/12/17/cucumber-without-a-display/">Running Cucumber Features Without a Display&lt;/a>&lt;/li>
&lt;li>Use Lisp and want to use Selenium? Now you can with &lt;a href="https://github.com/asdr/selenium-lisp-connector">selenium-lisp-connector&lt;/a>&lt;/li>
&lt;li>Looks like AutoIT3 might have some competition in the ‘drive native windows on Windows’ space with RAutomation. Here is how to &lt;a href="http://www.itreallymatters.net/post/2352350743/automating-windows-and-their-controls-with-ruby">Automating Windows and Their Controls With Ruby&lt;/a>&lt;/li>
&lt;li>In what could be the best project name since ‘Vlad the Deployer’, &lt;a href="http://zombie.labnotes.org/">Zombie.js&lt;/a> is being touted as this week’s Selenium killer.&lt;/li>
&lt;/ul>
&lt;p>And now I’m off to drive through lake effect snow to get to &lt;a href="http://codemash.org">CodeMash&lt;/a> to stress out about my Selenium and Agile Testing workshops. Ah, the life of a consultant is certainly glamorous.&lt;/p></description></item><item><title>A Smattering of Selenium #36A</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-36a/</link><pubDate>Mon, 10 Jan 2011 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2011/a-smattering-of-selenium-36a/</guid><description>&lt;p>I have drastically fallen behind on the link reporting, but not the collecting, so this week’s Smattering will be multi-part.&lt;/p>
&lt;p>The ‘big’ news falls for this edition is two fold –&lt;/p>
&lt;ol>
&lt;li>We’re having a conference! &lt;a href="http://www.seleniumconf.com/">Selenium Conference 2011&lt;/a> is April 4 – 6, 2011 in San Francisco. See the site for more information. (And I think our friends at Watir are going to be in the same space the day before.)&lt;/li>
&lt;li>The Betas are here! The Beta’s are here! As Simon’s &lt;a href="https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/selenium-2-0-beta-1-release/">post&lt;/a> announced, Selenium 2.0b1 has been released to the [unsuspecting] masses. Everyone, including Se-RC users are encouraged to switch their server over to it — its backwards compatible with 1.x and has a tonne of important fixes (like the HEAD request on open, -htmlSuite works again, etc.)&lt;/li>
&lt;/ol>
&lt;p>And not to downplay things, but here are the usual assortment of things I think are of interest/value to those automating stuff [with Selenium].&lt;/p></description></item><item><title>A Smattering of Selenium #35</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-35/</link><pubDate>Mon, 06 Dec 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-35/</guid><description>&lt;p>(If I wasn’t still recovering from a cold there would be something witty here.)&lt;/p>
&lt;ul>
&lt;li>We’ll start this week with a &lt;a href="http://www.notquitewrong.com/rosscottinc/2010/08/20/the-system-408-bowser-testing">cartoon&lt;/a>&lt;/li>
&lt;li>So I know I have linked to &lt;a href="http://seleniumexamples.com/blog/examples/play-pacman-with-selenium-2/">playing pacman with se 2&lt;/a>, but here is a site that &lt;a href="http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior">explains the ghost behavior&lt;/a>. If Google implemented the algorithms properly-ish, then this should be the ticket to crazy high scores. There should be a contest for this…&lt;/li>
&lt;li>&lt;a href="http://terminalvelocity-socal.blogspot.com/2010/11/cucumber-cuke4duke-selenium-webdriver.html">Cucumber + Cuke4Duke + Selenium (WebDriver) = Enlightenment&lt;/a> is step-by-step instructions for using maven to wire all these things together.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/shellinabox/">shell in a box&lt;/a> means you can now use Se to automate a unix shell&lt;/li>
&lt;li>&lt;a href="http://mattarcherblog.wordpress.com/2010/11/29/how-test-automation-with-selenium-or-watir-can-fail/">How test automation with Selenium or Watir can fail&lt;/a> provides two code smells for automation&lt;/li>
&lt;li>&lt;a href="http://chrismcmahonsblog.blogspot.com/2010/11/ui-test-smells-if-and-for-and-files.html">UI test smells: if() and for() and files&lt;/a> is a bit of a rebuttal with some additional commentary&lt;/li>
&lt;li>&lt;a href="http://rorygibson.wordpress.com/2010/12/02/xpday-2010-surviving-end-to-end-testing-or-using-selenium-for-fun-and-profit/">Surviving end-to-end-testing… or, using Selenium for fun and profit&lt;/a> is a write-up of the XP Day session of the same name&lt;/li>
&lt;li>&lt;em>The first thing that really became obvious to is that the community has to stop thinking about the tools and step back to look at a wider picture of the processes that have evolved over the last decade. Tools are there to assist us with a process, so focusing on tools and not on the process is just causing problems in adoption for new teams.&lt;/em> is from Gojko’s article in the &lt;a href="http://www.bcs.org/upload/pdf/tester-dec10.pdf">December 2010 issue of The Tester&lt;/a>. And is extremely important to remember given that this is a tool focused blog&lt;/li>
&lt;li>Missed Øredev? &lt;a href="http://oredev.org/2010/videos">Watch the videos&lt;/a>!&lt;/li>
&lt;li>A post from Sauce Labs shows &lt;a href="http://saucelabs.com/blog/index.php/2010/11/test-videos-fun/">how to put messages&lt;/a> in your script runs. Crazy enough, I did &lt;a href="https://github.com/adamgoucher/selenium-hollywood">something similar&lt;/a>.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #34</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-34/</link><pubDate>Mon, 29 Nov 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-34/</guid><description>&lt;p>We’ll start this week with the &lt;a href="http://www.theautomatedtester.co.uk/blog/2010/selenium-book-published.htm">official announcement of ‘Selenium 1.0 Testing Tools: Beginner’s Guide’ being available&lt;/a>. Congrats David! (Still waiting for my copy…)&lt;/p>
&lt;ul>
&lt;li>There is now a &lt;a href="http://refcardz.dzone.com/refcardz/getting-started-selenium-20?utm_source=feedburner">DZone ‘refcard’ for Selenium 2&lt;/a>. Of course, the reason Se2 is alpha is the API isn’t done with at least one major addition still left so it will be out of date in a month, but still…&lt;/li>
&lt;li>Here is &lt;a href="http://viewvc.svn.mozilla.org/vc/projects/socorro_qa/">another example of how to do Page Objects in Python&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2010/client-side-profiling-with-selenium-2.html">Client-Side Profiling with Selenium 2&lt;/a> is David’s post about his recent London Selenium User Group talk&lt;/li>
&lt;li>Someone took the time to make a &lt;a href="http://www.squidoo.com/selenium-web-testing">Selenium lens&lt;/a> on Squidoo; which is going to get kinda circular once this post shows up on it.&lt;/li>
&lt;li>&lt;a href="http://opineandwhine.blogspot.com/2008/12/why-automated-testing-is-broken.html">Why Automated Testing is Broken&lt;/a>. Not much of a commentary here other than A-freaking-men. Ok, that was commentary.&lt;/li>
&lt;li>&lt;a href="http://seleniumtoolkit.codeplex.com/">Selenium Toolkit for .NET&lt;/a> got a version bump for the first time in a year.&lt;/li>
&lt;li>&lt;a href="http://blog.blackpepper.co.uk/driving-a-flex-application-via-selenium-2-webdriver/">Driving a Flex Application via Selenium 2 WebDriver&lt;/a> shows how to use FlexSelenium and Web Driver together&lt;/li>
&lt;li>RVM is one of the ‘cool kid’ tricks and &lt;a href="http://rvm.beginrescueend.com/integration/hudson/">Continuous Integration with Hudson&lt;/a> is one of those things you need to know how to do if you are using it.&lt;/li>
&lt;li>&lt;a href="http://vagrantup.com/">Vagrant&lt;/a> appears to take RVM one (or more) steps further&lt;/li>
&lt;li>I keep thinking someone needs to create a Selenium koans site. Inspired by &lt;a href="https://github.com/mrdavidlaing/javascript-koans">javascript koans&lt;/a> and &lt;a href="https://github.com/mrdavidlaing/javascript-koans">ruby koans&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.launchlist.net/">Launchlist&lt;/a> appeals to me somehow. Throw in an API for launching scripts and you have a nice TCM system&lt;/li>
&lt;li>I spent some time figuring out how to integrate Robot Framework with Sauce Labs OnDemand and then &lt;a href="http://saucelabs.com/blog/index.php/2010/11/integrating-robot-framework-with-sauce-ondemand/">wrote about it&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/webdriver-blackberry/wiki/WebDriverOverview">Web Driver for the BlackBerry&lt;/a> – did not know that even existed.&lt;/li>
&lt;li>&lt;a href="http://pypi.python.org/pypi/gocept.selenium/0.3">gocept.selenium&lt;/a> is another Zope 2/Plone/ZTK integration&lt;/li>
&lt;li>&lt;a href="http://www.wakaleo.com/resources/presentations/306-bdd-atdd-and-page-objects">BDD, ATDD and Page Objects&lt;/a> was a talk done at SkillsMatter which was recorded&lt;/li>
&lt;/ul>
&lt;p>Oh. and I just noticed that this is the Selenium-iversay edition of these things.&lt;/p></description></item><item><title>A Smattering of Selenium #33</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-33/</link><pubDate>Mon, 22 Nov 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-33/</guid><description>&lt;p>…and here’s the links!&lt;/p>
&lt;ul>
&lt;li>Henrik Skupin was one of the speakers at the London Selenium Meetup and has &lt;a href="http://www.hskupin.info/2010/11/19/mozmill-crowd-talk-at-selenium-meetup-3-in-london/">written about the night and his talk&lt;/a>&lt;/li>
&lt;li>Speaking of which, &lt;a href="http://www.youtube.com/user/londonselenium/">videos of the talks are now up&lt;/a>&lt;/li>
&lt;li>Part of good automation is knowing how to code. So here are some sites that crossed my path this week for that
&lt;ul>
&lt;li>&lt;a href="http://railsforzombies.org/">Rails for Zombies&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://diveintohtml5.org/">Dive into HTML 5&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.html5rocks.com/">HTML5 Rocks&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Cheezy continues his UI series which takes a detour over to WATIR land, but things are transferable. &lt;a href="http://www.cheezyworld.com/2010/11/19/ui-tests-introducing-a-simple-dsl/">Introducing a Simple DSL&lt;/a> and &lt;a href="http://www.cheezyworld.com/2010/11/21/ui-tests-default-dat/">Default Data&lt;/a>&lt;/li>
&lt;li>Functional Automation is an important part of Continuous Delivery. Here is Jez talking about &lt;a href="http://carlfk.blip.tv/file/4397842">Continuous Delivery&lt;/a> — beer in hand. (which to me is the most important concept of the year)&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/robotframework/wiki/ATDDWithRobotFrameworkArticle">Acceptance Test-Driven Development with Robot Framework&lt;/a> is an excerpt from Practices for Scaling Lean &amp;amp; Agile Development.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/bidichecker/">BidiChecker&lt;/a> is a tool for checking bidirectional (BiDi) text. So who is going to integrate this into Se?&lt;/li>
&lt;li>&lt;a href="http://blog.browsermob.com/2010/11/interaction-with-flash-using-flashselenium-and-javascript-part-1/">Interaction with Flash using FlashSelenium and Javascript – Part 1&lt;/a> starts to show how to use FlashSelenium to interact with Flash-y things.&lt;/li>
&lt;li>Looking for a Selenium job? Have a look at &lt;a href="http://www.ultrasaurus.com/sarahblog/2010/11/how-to-get-a-rails-job/">How to get a Rails job&lt;/a>. When I have hired, or help people hire, this is very true.&lt;/li>
&lt;li>And finally the whole should-testers-need-to-know-how-to-code conflict bubbled up again somewhat last week. Since this is my list of links: if you are automating, yes; if you are not, then no (but it can’t hurt).
&lt;ul>
&lt;li>&lt;a href="http://a-sisyphean-task.blogspot.com/2010/11/dont-call-me-technical.html">Don’t call me Technical&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://saucelabs.com/blog/index.php/2010/11/the-future-of-testing/">The Future of Testing&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.testyredhead.com/2010/11/18/the-future-of-testing-is-wide-open.aspx">The Future of Testing is Wide Open&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #32</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-32/</link><pubDate>Mon, 15 Nov 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-32/</guid><description>&lt;p>For those people paying attention to the goings-on in the Selenium world, yes, I am skipping something major until some of the details are worked out and announced. Until then, here are the links I accrued over the week.&lt;/p>
&lt;ul>
&lt;li>Selenium uses Bamboo for its CI infrastructure. This week saw an upgrade to the latest version so if you want bleeding-edge code, &lt;a href="http://xserve.openqa.org:8085">get it here&lt;/a>&lt;/li>
&lt;li>The only browser Se has no real traction on right now is the BlackBerry one. But if someone wanted to tackle it, here is a post from Atomic Object on &lt;a href="http://spin.atomicobject.com/2010/11/04/our-blackberry-development-environment">their BlackBerry development environment&lt;/a> that would help kickstart things maybe.&lt;/li>
&lt;li>Under the category of ‘let the language deal with things’ is &lt;a href="http://code.google.com/p/html5lib/">html5lib for python and php&lt;/a> which will parse html. Sometimes it is far faster to dump your attribute checks etc. to a native parser than let Se do it.&lt;/li>
&lt;li>Scott Sims has released &lt;a href="http://scottcsims.com/wordpress/?p=251">Selenium Fury&lt;/a> upon the Ruby world. Think of it as a Page Factory implementation for Ruby.&lt;/li>
&lt;li>Using Se-IDE and Easyb? Here is a thread on how to &lt;a href="http://groups.google.com/group/easyb-users/browse_thread/thread/0079b48526514a72/3a12e1d253d4b512?show_docid=3a12e1d253d4b512">use the generated code without modification&lt;/a>&lt;/li>
&lt;li>JRuby is one of the better languages to use to write Se scripts in, and here are &lt;a href="http://www.engineyard.com/videos/JRubyConf%202010">videos from JRubyConf 2010&lt;/a>&lt;/li>
&lt;li>Cheezy is writing a series on UI tests. So far there is &lt;a href="http://www.cheezyworld.com/2010/11/09/ui-tests-not-brittle/">How do we keep them from being brittle?&lt;/a> and &lt;a href="http://www.cheezyworld.com/2010/11/13/ui-tests-part-two/">Part Two&lt;/a>&lt;/li>
&lt;li>Se2 for JS? Sure, why not. &lt;a href="https://github.com/dmachi/webdriver-js">webdriver-js&lt;/a>&lt;/li>
&lt;li>Jari release the &lt;a href="http://rubygems.org/gems/selenium-webdriver">selenium-webdriver 0.1.0&lt;/a> gem this week. Why the big jump from 0.0.29 to 0.1.0? We’ve merged in the selenium-client gem into the main selenium codebase and now there is a single gem if you want to do 1.x or 2.x scripting.&lt;/li>
&lt;li>&lt;a href="http://mashable.com/2010/11/10/google-refine/">Google Refine&lt;/a> is just darn cool. I’m not really sure how it plays into automation, but I get the sneaky suspicion it could. Somehow.&lt;/li>
&lt;li>The &lt;a href="http://www.yuiblog.com/blog/2010/11/09/introducing-the-new-yui-test/">YUI Test&lt;/a> has Se built right in.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #31</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-31/</link><pubDate>Mon, 08 Nov 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-31/</guid><description>&lt;p>The big news for last week was that I released Se-IDE 1.0.8 to very little fanfare. 1.0.9 should be a week or two and much more important a release.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://seleniumexamples.com/blog/examples/cheesecake/">Cheesecake!&lt;/a> is isn’t nearly as impractical as Pacman, but still adds to the Se2 example bucket.&lt;/li>
&lt;li>The London Se Meetup stuff from last week are starting to appear…
&lt;ul>
&lt;li>&lt;a href="http://www.theautomatedtester.co.uk/blog/2010/london-selenium-user-group-3.htm">Client-side profiling with Se2&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blargon7.com/2010/11/mozilla-in-london-for-selenium-meetup-3/">a summary&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/stephendonner/selenium-londonmeetup-5671730">How Mozilla uses Se&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.slideshare.net/hskupin/crowdsourced-automated-firefox-ui-testing">Crowd-sourced Automated Firefox UI Testing&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://www.dafydd.net/archive/2010/continuous-deployment/">Some notes from CITCON&lt;/a> last week as well. Seems like London was the place to be.&lt;/li>
&lt;li>When designing automation frameworks (internal or external), the list of ways to &lt;a href="http://ozlabs.org/~rusty/index.cgi/tech/2008-03-30.html">make it hard to misuse&lt;/a> should be kept in the back of your mind.&lt;/li>
&lt;li>Of course your automation is under version control, right? RIGHT?!? &lt;a href="http://whatthecommit.com/">What the Commit&lt;/a> is rather amusing, if not a scathing satire. (hint: hit refresh)&lt;/li>
&lt;li>Sauce Labs announced the availability of &lt;a href="http://saucelabs.com/blog/index.php/2010/11/doing-continuous-integration-testing-check-out-our-ci-api/">a CI API&lt;/a>. But there is nothing to say that you couldn’t integrate their &lt;a href="http://saucelabs.com/products/docs/sauce-ondemand#alternative-annotation-methods">alternative annotation methods&lt;/a> outside of CI too.&lt;/li>
&lt;li>Harry Robinson did a session at CAST 2010 on ‘Exploratory Test Automation’ (which I missed; no, not bitter at all..) and I &lt;a href="http://869789182725854870-a-harryrobinson-net-s-sites.googlegroups.com/a/harryrobinson.net/www/ExploratoryTestAutomation-CAST.pdf">found his slides&lt;/a>&lt;/li>
&lt;li>If you are using the hosted Bamboo solution and most of your Se tests need windows, then here are instructions &lt;a href="http://confluence.atlassian.com/display/BAMBOO/Creating&amp;#43;a&amp;#43;Custom&amp;#43;Elastic&amp;#43;Image">on how to create your own custom elastic agent image&lt;/a>&lt;/li>
&lt;li>Here is something fun, do you &lt;a href="http://amplicate.com/hate/selenium">Hate&lt;/a> or &lt;a href="http://amplicate.com/love/selenium">Love&lt;/a> Se?&lt;/li>
&lt;li>&lt;a href="http://pypi.python.org/pypi/slate">Slate&lt;/a> seems like an interesting module for Python folks since it can parse and extract information from PDFs which is often a black hole in automation.&lt;/li>
&lt;li>I continue to maintain that automation is programming (much to the annoyance of the classical black-box tester who is starting out with it) and that perhaps the easiest language to start learning is Python. &lt;a href="http://learnpythonthehardway.org/home">Learn Python The Hard Way&lt;/a> is a new book which looks like an ideal way to learn the language. I haven’t really gone through it to see which parts are more (or less) relevant to automation, but…&lt;/li>
&lt;li>&lt;a href="http://elabs.se/blog/15-you-re-cuking-it-wrong">You’re cuking it wrong&lt;/a> has lots of tips on how to write Cucumber scripts well.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #30</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-30/</link><pubDate>Mon, 01 Nov 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-30/</guid><description>&lt;p>I’ve missed a couple weeks due to travel and a complete system lock which meant I lost all the links I had open but not saved. So these are the ones I have recovered.&lt;/p>
&lt;ul>
&lt;li>I have written a series of posts on how to do parallel execution of tests in JUnit 4 up on the Sauce Labs blog. &lt;a href="http://saucelabs.com/blog/index.php/2010/10/parallel-junit-4-and-selenium-part-one-parameters/">Part One&lt;/a>, &lt;a href="http://saucelabs.com/blog/index.php/2010/10/parallel-junit-4-and-selenium-part-two-external-properties/">Part 2&lt;/a> and &lt;a href="http://saucelabs.com/blog/index.php/2010/10/parallel-junit-4-and-selenium-part-three-parallelism-and-ondemand/">Part Three&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://radomirml.com/2010/10/21/quick-start-with-fitnesse-and-selenium">Quick start with FitNesse and Selenium&lt;/a> is a beginners guide to wiring Selenium and FitNesse together. Though it might have been easier to just use &lt;a href="http://github.com/marisaseal/selenesse">Selenesse&lt;/a>&lt;/li>
&lt;li>Meetup: &lt;a href="http://www.meetup.com/Quality-Assurance/calendar/15152685/">Test Automation Tips, Techniques and Best Practice – Ruby and Java night&lt;/a> in NYC, November 8&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/selenium/source/detail?r=10000">Commit 10000&lt;/a> for the Se project. That’s a non-small number&lt;/li>
&lt;li>If you are using Maven 3, you can now use the &lt;a href="http://olamy.blogspot.com/2010/10/maven-selenium-plugin-11-maven-3.html">Selenium Plugin&lt;/a> with it now.&lt;/li>
&lt;li>&lt;a href="http://testobsessed.com/2010/10/20/testers-code/">Do Testers Have to Write Code?&lt;/a> applies to Se as well.&lt;/li>
&lt;li>&lt;a href="http://tristandunn.com/2010/10/21/multiple-sessions-cucumber-selenium.html">Multiple Sessions in Cucumber &amp;amp; Selenium&lt;/a> got a fair bit of twitter love and is something I’m seeing clients want/need more and more&lt;/li>
&lt;li>&lt;a href="http://a-sisyphean-task.blogspot.com/2010/09/set-of-principles-for-automated-testing.html">A Set of Principles for Automated Testing&lt;/a> is not a bad list. I completely disagree with the second one, and the last one is blatant employer promotion (but is contextually correct).&lt;/li>
&lt;li>&lt;a href="http://blog.carbonfive.com/2010/10/testing/rspec-best-practices">RSpec best practices&lt;/a> is a similar list which I have less complaint about. The third point is likely the most important one.&lt;/li>
&lt;li>&lt;a href="http://tristandunn.com/2010/10/21/multiple-sessions-cucumber-selenium.html">Multiple Sessions in Cucumber &amp;amp; Selenium&lt;/a> is a solution for when you are testing something with WebSockets with Cucumber.&lt;/li>
&lt;li>&lt;a href="http://nunit.org/?p=releaseNotes&amp;amp;r=2.5.8">NUnit 2.5.8&lt;/a> is out.&lt;/li>
&lt;li>Dale Emery has released &lt;a href="http://github.com/dhemery/runtime-suite">Runtime Suite&lt;/a> which is super handy for creating test suites at runtime with JUnit 4. It doesn’t (yet) work with parameterized classes, but is still pretty cool&lt;/li>
&lt;li>&lt;a href="http://databene.org/feed4junit.html">Feed4JUnit&lt;/a> seems to have don’t some of the legwork for people to do parameterized JUnit scripts. (Yes, I’ve been stuck in Java-land for the last while; why do you ask?)&lt;/li>
&lt;li>As Flex Pilot gets more usage, things are starting to trickle out into the blogs. &lt;a href="http://mariangemarcano.blogspot.com/2010/10/automating-myappinflexswf-useful.html">Automating MyAppInFlex.swf – Useful FlexPilot commands&lt;/a> is one of those posts.&lt;/li>
&lt;/ul>
&lt;p>Oh, and both 2.0a6 and 2.0a7 have been released. We’re getting closer to the ‘API freeze’ which will mark the end of ‘alpha’ and the start of bug fixing (beta) for the final release.&lt;/p></description></item><item><title>A Smattering of Selenium #29</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-29/</link><pubDate>Mon, 04 Oct 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-29/</guid><description>&lt;p>A fair number of links this week. The vast majority of which were buried in annoying airport internet advertising frames…&lt;/p>
&lt;ul>
&lt;li>This looks like it is Spanish which would normally mean it doesn’t get included but it &lt;a href="http://sembugs.blogspot.com/2010/10/integracao-selenium-e-testlink.html">Integração Selenium e Testlink&lt;/a> explains how to integrate Se with TestLink. We, as a community, need to document this sort of thing more.&lt;/li>
&lt;li>&lt;a href="http://www.mkyong.com/unittest/junit-4-vs-testng-comparison/">JUnit 4 Vs TestNG&lt;/a> is a somewhat biased comparison between JUnit 4 and TestNG; but useful none the less.&lt;/li>
&lt;li>Hot on the heels of last week’s SFSE is the announcment of &lt;a href="http://www.meetup.com/seleniumsanfrancisco/calendar/14966653/">Learn to Test Your SproutCore Apps with Lebowski Framework&lt;/a> for the month of October.&lt;/li>
&lt;li>&lt;a href="http://siark.wordpress.com/2010/10/01/behaviour-driven-development-with-jbehave-web-3-selenium-and-maven-2-on-os-x-snow-leopard">Behaviour Driven Development With JBehave Web 3, Selenium and Maven 2 on OS X Snow Leopard&lt;/a> is, aside from very buzzword compliant, the first thing I’ve seen using Se and JBehave.&lt;/li>
&lt;li>&lt;a href="http://marlenacompton.com/?p=1877">Bi-Testual: Coming out of the Software Closet&lt;/a> is something a lot of people in automation grapple with. Am I a tester who programs? A programmer who tests? Something entirely new?&lt;/li>
&lt;li>Using Selenese and want to use Sauce OnDemand? &lt;a href="http://saucelabs.com/blog/index.php/2010/09/absolute-beginners-guide-to-running-sauce-rc-with-html-scripts/">Absolute Beginners Guide to Running Sauce RC with HTML Scripts&lt;/a> is for you.&lt;/li>
&lt;li>While combing the Sauce Labs blog, I noticed my &lt;a href="http://saucelabs.com/blog/index.php/2010/09/how-to-minimize-the-pain-of-locator-breakage/">How To Minimize The Pain Of Locator Breakage&lt;/a> has been published.&lt;/li>
&lt;li>Page Objects are ‘in’ to say the least these days. &lt;a href="http://fijiaaron.wordpress.com/2010/09/29/writing-page-based-tests-with-selenium-in-ruby/">Writing page based tests with selenium in ruby&lt;/a> is just enough to get you down the path of page objects in ruby.&lt;/li>
&lt;li>And because we can’t have only one post on Page Objects, &lt;a href="http://luizfar.wordpress.com/2010/09/29/page-objects/">Step-by-step selenium tests with page objects, dsl and fun!&lt;/a> is in Groovy&lt;/li>
&lt;li>&lt;a href="http://www.oliverklee.de/temp/mocking-cheatsheet.pdf">Cheatsheet: Creating mocks in PHPUnit&lt;/a> could be useful for those who write Se scripts in PHP&lt;/li>
&lt;li>The talks for GTAC 2010 &lt;a href="http://www.gtac.biz/selected-talks">have been announced&lt;/a>. I don’t know what the pool of talks they pulled from was like, but I’m underwhelmed&lt;/li>
&lt;li>I have no idea where &lt;a href="http://www.seleniumwiki.com/">SeleniumWiki&lt;/a> came from, but there is a fair bit of content there. Not sure how much is original and how much is lifted from other places on the internets — the spidey sense tingles when the title says ‘VB Code’ which seems to imply it is an SEO hunting site.&lt;/li>
&lt;li>Martin Fowler’s DSL book is out Real Soon Now and the &lt;a href="http://www.informit.com/articles/printerfriendly.aspx?p=1592379">first chapter is available online&lt;/a>. Most people have been saying ‘build a DSL for your scripts’ for awhile — now we’ll see just how off all our definitions of that were.&lt;/li>
&lt;li>getXpathCount is one of the more powerful commands in Se, but the bulk of people use it ‘wrong’. &lt;a href="http://blog.browsermob.com/2010/09/effectively-using-seleniums-getxpathcount-function/">Effectively using Selenium’s getXpathCount function&lt;/a> starts to address that problem.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #28</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-28/</link><pubDate>Mon, 27 Sep 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-28/</guid><description>&lt;p>So we go from not-enough-stuff-to-do-one to wow-this-will-take-awhile. And we’re off..&lt;/p>
&lt;ul>
&lt;li>Tellurium is one of the many frameworks that absorb Se and has an article on InfoQ called &lt;a href="http://www.infoq.com/articles/tellurium_intro">Introducing the Tellurium Automated Testing Framework&lt;/a> which, well, introduces the framework.&lt;/li>
&lt;li>In the first of many Cucumber related posts this week is Sean Grove’s &lt;a href="http://github.com/sgrove/cucumber_sauce">Cucumber Sauce&lt;/a> for doing parallel Cucumber runs on the Sauce infrastructure. Might be general enough to use outside of it as well.&lt;/li>
&lt;li>&lt;a href="http://www.cuke4ninja.com/">Cuke4Ninja: The Secret Ninja Cucumber Scrolls&lt;/a>, aside from outstanding ninja cucumber images, has a dead-tree book’s work of getting starting with Cucumber information.&lt;/li>
&lt;li>I updated the list of plugins for Se-IDE (that I know of) on the &lt;a href="http://seleniumhq.org/download/">Se-HQ download page&lt;/a>&lt;/li>
&lt;li>&lt;em>&lt;a href="http://jboss.org/arquillian">Arquillian&lt;/a> is testing framework, developed at JBoss.org, that empowers developers to write integration tests for business objects that are executed inside of an embedded or remote container–options include a servlet container, a Java EE application server or a Java SE CDI environment.&lt;/em> Oh, and it has a &lt;a href="http://github.com/arquillian/arquillian/blob/next/extensions/selenium/src/test/java/org/jboss/arquillian/selenium/example">Selenium (1.x RC and 2.x Se WebDriver) extensions&lt;/a>&lt;/li>
&lt;li>The Fall 2010 issue of &lt;a href="http://www.methodsandtools.com/mt/download.php?fall10">Methods &amp;amp; Tools&lt;/a> has an article on Bromine&lt;/li>
&lt;li>Another piece of Cucumber news is a Skills Matter video of Gojko Adzic and David de Florinier (see Cuke4Ninja able) talking about &lt;a href="http://skillsmatter.com/podcast/ajax-ria/cucumber-for-web-applications/zx-486">Cucumber &amp;amp; Selenium 2.0&lt;/a>&lt;/li>
&lt;li>If you are doing automation, the right place to be running it is &lt;em>not&lt;/em> the IDE but a CI server. Well, perhaps in addition to the IDE… Anyways, here is a post on &lt;a href="http://www.rhonabwy.com/wp/2009/11/04/setting-up-a-python-ci-server-with-hudson/">Setting up a python CI server with Hudson&lt;/a>. Now there is no excuse Python kids…&lt;/li>
&lt;li>Parallel Testing should be this year’s automation theme. Here is how to do it &lt;a href="http://developer.fellowshipone.com/index.php/blog/running_tests_in_parallel_with_selenium/">in C#&lt;/a>.&lt;/li>
&lt;li>…and in &lt;a href="http://atank.interlogy.com/blog/2010/09/parallel-automated-browser-testing-with-selenium-and-sauce-ondemand/">PHP&lt;/a> (this one, again with a bent to Sauce OnDemand, but…)&lt;/li>
&lt;li>And yet another &lt;a href="http://github.com/dotsunited/phpunit-selenium-sauceondemand">PHP Sauce&lt;/a> integration.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/selenate/">Selenate&lt;/a> is a JS 1.6 runner for Se&lt;/li>
&lt;li>&lt;a href="http://blog.circlecube.com/2008/02/tutorial/actionscript-javascript-communication/">Actionscript Javascript Communication&lt;/a> actually shows how the whole ExternalInterface stuff works when talking into Flash/Flex from within Se. I could have used this a year ago…&lt;/li>
&lt;li>Aside from parallel stuff, I think the Decorators and their kin are nice additions to the automation toolkit. Here is one &lt;a href="http://blog.projectdirigible.com/?p=482">for taking screenshots on test failure in Python&lt;/a>&lt;/li>
&lt;li>London is having another &lt;a href="http://www.meetup.com/seleniumlondon/calendar/14712022/">meetup on November 3&lt;/a>&lt;/li>
&lt;li>The fall 2010 issue of &lt;a href="http://www.automatedtestinginstitute.com/home/index.php?option=com_content&amp;amp;view=article&amp;amp;id=1276&amp;amp;Itemid=122">Automated Software Testing Magazine&lt;/a> is out. I think its kinda sad that articles on dynamic data generation still need to be written, but the ‘Testing With Reflection’ article seems to be not bad in that the message is ‘automate to learn, not to test’&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #27</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-27/</link><pubDate>Mon, 20 Sep 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-27/</guid><description>&lt;p>Seems I skipped a week, but that’s okay since there hasn’t been much in terms of volume (or maybe my clever search filter is a bit overly clever…).&lt;/p>
&lt;ul>
&lt;li>The big news I think is that there is now a Se driver for Node.js called &lt;a href="http://sodajs.com/">Soda&lt;/a>. I’m not sure I like the syntax, but I also don’t claim to know Node so it could be idiomatically correct which is more important than my blessing.&lt;/li>
&lt;li>Hot on the heels of the Soda announcement was the announcement that &lt;a href="http://saucelabs.com/blog/index.php/2010/09/cross-browser-testing-with-soda-and-selenium/">it has built-in support for Sauce Labs’ OnDemand&lt;/a> Se-in-the-cloud service&lt;/li>
&lt;li>TestNG is often the java runner of choice for Se (for its built-in parallelization stuff) and it now has a &lt;a href="http://testng.org/doc/selenium.html">Selenium page right in the official documentation&lt;/a>.&lt;/li>
&lt;li>Drupal sites have long used Se to automate maintenance tasks and such, but now there is &lt;a href="http://drupal.org/project/drunit">Drunit&lt;/a> which hopes to replace SimpleTest as the way to use PHPUnit and Se-RC in the Drupal community.&lt;/li>
&lt;li>The August SFSE meetup was more of a crowd-sourced content affair with participants voting up questions that they wanted to hear Se inventor Jason Huggins answer. It then turned into a crowd-sourced answer affair with Simon Stewart (Se-WebDriver), Kevin Menard (Se-Grid) and myself (Se-IDE and general opinionated tester) getting dragged in periodically. The &lt;a href="http://saucelabs.com/blog/index.php/2010/09/sfse-video-selenium-best-practices-with-jason-huggins/">video is now online&lt;/a> for your viewing enjoyment.&lt;/li>
&lt;li>I’ll be writing about this more this week I’m sure, but &lt;a href="http://multitiered.wordpress.com/2010/09/13/tracking-selenium-commands-using-c-and-sql-server-2008/">Tracking Selenium Commands Using C# and SQL Server 2008&lt;/a> has actually made me rethink my position on what reporting should be coming out of your automation run. No mean feat that.&lt;/li>
&lt;li>&lt;a href="http://www.stickyminds.com/sitewide.asp?ObjectId=2084&amp;amp;Function=edetail&amp;amp;ObjectType=">Three Keys to Automation&lt;/a> is an old article from Bret Pettichord (he of WATIR fame) that somehow crossed my path this week but is as relevant today as it was 10 years ago&lt;/li>
&lt;li>&lt;a href="http://semantic-mediawiki.org/wiki/SMW_System_Testing_with_Selenium">SMW System Testing with Selenium&lt;/a> is a wiki page (unsurprisingly) about testing the Semantic MediaWiki with Se including slides from a talk on it. Good to see the world domination plans of becoming the default testing framework on projects progressing so nicely.&lt;/li>
&lt;li>&lt;a href="http://blog.versionone.com/blog/versionone/0/0/testers-orgs-and-the-demand-for-java-jobs">Testers, Orgs, and the demand for Java jobs&lt;/a> nicely echos what I say when I am out at clients who are starting out with Se (or automation in general) – &lt;em>Testers don’t need to know how to write the code for your product, but they need to know how to best automate their tools and tests which will require understanding and comfort with code.&lt;/em>. Also just as important from a product perspective is &lt;em>Let’s get rid of the titles of ‘developer’ and ‘tester.’&lt;/em>.&lt;/li>
&lt;li>Not related to Se directly is &lt;a href="http://perldancer.org/quickstart">Dancer&lt;/a> which is the Perl equivalent of Ruby On Rails. If you need a quick site for proof-of-concept or experimentation with Se, this might be the framework for you.&lt;/li>
&lt;li>For the PHP readers, I present &lt;a href="http://github.com/everzet/Behat/issues#issue/1">a discussion on integrating Se with Behat&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #26</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-26/</link><pubDate>Mon, 06 Sep 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-26/</guid><description>&lt;p>It’s Labour Day here, so this post was written to backdrop of Sponge Bob. In case you were wondering.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://code.google.com/p/selenium-java-evidence/">selenium-java-evidence&lt;/a> appears to be another logging framework, this time with an emphasis on auditability. Personally, the reports from a CI server should be all that are required, but to each their own…&lt;/li>
&lt;li>&lt;a href="http://wiki.github.com/scudco/taza/">taza&lt;/a> is &lt;em>an opinionated browser-based test framework&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://bitbucket.org/niklasl/webdry">webdry&lt;/a> is &lt;em>a Python (jquery-inspired) wrapper for DRY:er access to the Selenium WebDriver&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://github.com/jsa/blogy/blob/master/gae-saucelabs.md">Self-testing AppEngine apps with Saucelabs&lt;/a> seems like a cool little (if very low level) trick to using Se inside AppEngine&lt;/li>
&lt;li>Sauce Labs released their &lt;a href="http://saucelabs.com/docs/quickstart">Getting Started With Selenium&lt;/a> guide and is looking for feedback on it&lt;/li>
&lt;li>Need to interact with a web service during a BrowserMob run? &lt;a href="http://element34.ca/blog/hybrid-browsermob-scripts">Hybrid BrowserMob Scripts&lt;/a> explains how to do it.&lt;/li>
&lt;li>&lt;a href="http://patrickwilsonwelsh.com/?p=343">Self-Verifying Page Objects&lt;/a> is Patrick Wilson-Welsh’s first post in the series patterns that made up his and &lt;a href="http://passionatetester.com">Dawn&lt;/a>‘s Agile 2010 session.&lt;/li>
&lt;li>Felipe is starting to explore Se and TestNG (which is timely for me) starting with &lt;a href="http://knorrium.info/2010/08/31/using-testng-to-launch-your-tests-and-the-selenium-server/">Using TestNG to launch your tests (and the Selenium server)&lt;/a>&lt;/li>
&lt;li>Hudson create Kohsuke Kawaguchi did a webinar for Sauce Labs on using &lt;a href="http://saucelabs.com/blog/index.php/2010/09/recorded-webinar-kohsuke-kawaguchi-demos-using-hudson-with-sauce-ondemand/">Hudson with their OnDemand service that was recorded&lt;/a>. I haven’t watched it yet, but it looks like it has general Hudson and Se information as well.&lt;/li>
&lt;li>Se’s CSS support got and overhaul this week as &lt;a href="http://code.google.com/p/selenium/source/detail?r=9590">Sizzle replaces CSSQuery&lt;/a> as the way of finding things via the CSS locator. Sizzle is the CSS engine that powers JQuery.&lt;/li>
&lt;li>&lt;a href="http://tw-oss.blogspot.com/2010/08/jbehave-30-released.html">JBehave 3.0 has been released&lt;/a> – for those who use it&lt;/li>
&lt;li>Simon wrote another technical piece on some of the inner workings for Se2 in &lt;a href="http://seleniumhq.wordpress.com/2010/09/05/going-atomic-how/">Going Atomic: How&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #25</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-25/</link><pubDate>Tue, 31 Aug 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-25/</guid><description>&lt;p>A day late, but that sort of thing happens when you have family.&lt;/p>
&lt;ul>
&lt;li>I keep telling myself I will document how to incorporate Se launching and result recording in QC, but never seem to find the excuse. Looks like Aaron found the excuse: &lt;a href="http://fijiaaron.wordpress.com/2010/08/28/finding-the-api-for-a-dll/">Finding the API for a DLL&lt;/a>, &lt;a href="http://fijiaaron.wordpress.com/2010/08/28/connecting-to-hpmercury-quality-center-from-a-client-side-script/">Connecting to HP/Mercury Quality Center from a client side script&lt;/a>&lt;/li>
&lt;li>Also from Aaron is a cool &lt;a href="http://one-shore.com/aaron/gencc/">Credit Card Generator&lt;/a> which has nice id tags which makes for easy Se parsing. Though I would argue that rather than open a new browser for this you send a URL get or similar, but this works as well.&lt;/li>
&lt;li>&lt;a href="http://scannell.com">David&lt;/a> continues to post about his employer’s ‘Elastic Build System’ in the context of Se-Grid in &lt;a href="http://blog.gridcentriclabs.com/2010/08/nimble-test-clusters.html">Nimble Test Clusters&lt;/a>&lt;/li>
&lt;li>Having had, and then mutually cancelling a book deal on Se, its a delight to see &lt;a href="https://www.packtpub.com/selenium-1-0-testing-tools-beginners-guide/book">Overview of Selenium 1.0 Testing Tools: Beginner’s Guide&lt;/a> now available in ‘beta’. Guess you need to finish it now, eh David?&lt;/li>
&lt;li>&lt;a href="http://www.aentos.com/blog/easy-setup-your-cucumber-scenarios-using-headless-gem-run-selenium-your-ci-server">easy setup for your cucumber scenarios using headless gem run selenium your ci server&lt;/a> is in the context of cucumber, but could be easily ported to other things I suspect.&lt;/li>
&lt;li>Another I-switch-to-Se2-and-liked-it post, this time from Ben at &lt;a href="http://www.simple-talk.com/community/blogs/benadderson/archive/2010/08/26/94208.aspx">Switching from Selenium 1.x to WebDriver/Selenium 2 and HtmlUnit&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://howfuckedismydatabase.com/">howfuckedismydatabase&lt;/a> is just plain funny. And who of us hasn’t asked that very question – usually at some less than optimal time&lt;/li>
&lt;li>The September gathering of Chicago ALT.NET is on September 8 and is going to be on &lt;a href="http://chicagoalt.net/event/September2010Meeting-Selenium-101-3-Practical-Functional-Testing-Techniques">Selenium 101.3: Practical Functional Testing Techniques&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://vrajasankar.blogspot.com/2010/08/testing-flash-with-selenium.html">Testing Flash With Selenium&lt;/a> talks about the standard ExternalInterface stuff, but most important is the last sentence: &lt;em>So, if your app has less functions that needs to tested, you can use this approach, if not, testing manually will be the better option.&lt;/em>. Just because you can, doesn’t mean you should (more insight into the life of Selenium consultant…)&lt;/li>
&lt;li>Another framework! This time it is &lt;a href="http://wiki.github.com/meza/Selena/">Selena&lt;/a>.&lt;/li>
&lt;li>An over-the-should problem-solution post on getting started with Se – &lt;a href="http://fmk.incipiatturba.net/2010/08/28/fmk-vs-selenium/">FMK vs Selenium&lt;/a>. Worth also checking out the ‘Modeling Portfolio’ for the, erm, interesting hairstyles he has tried on himself&lt;/li>
&lt;li>Seems like &lt;a href="http://yuilibrary.com/projects/yeti/">Yeti&lt;/a> and Se should work well together, though I can’t quite figure out why/how. And for those with small kids, the &lt;a href="http://youtu.be/8jPlzKNA0ZU">Yeti Stomp&lt;/a> might also be familiar.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #24</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-24/</link><pubDate>Tue, 24 Aug 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-24/</guid><description>&lt;p>A bit late, but I’m in California for a Selenium Developers Meetup and my body doesn’t quite know where it is temporally.&lt;/p>
&lt;ul>
&lt;li>Don’t forget that tomorrow is the next meeting of the &lt;a href="http://www.meetup.com/seleniumsanfrancisco/calendar/14320878/">San Francisco Selenium&lt;/a> folks which seems to be running a crowd sourced “Let’s stump Jason with our problems” session. Most of the ‘main’ Se folk will be there.&lt;/li>
&lt;li>Test design theory is something that I have yet to really see covered much, so here are three articles on the similar idea of what to test and what to skip.
&lt;ul>
&lt;li>&lt;a href="http://xprogramming.com/articles/contradiction-test-everything-but-not-accessors/">Contradiction: Test Everything, but not Accessors?&lt;/a> by Ron Jeffries&lt;/li>
&lt;li>&lt;a href="http://chrismcmahonsblog.blogspot.com/2007/09/dont-test-for-blocking-conditions.html">don’t test for blocking conditions: an example&lt;/a> by Chris McMahon&lt;/li>
&lt;li>&lt;a href="http://adam.goucher.ca/?p=1087">Every automated test should do ONE thing really well&lt;/a> by Adam Goucher (me)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="http://motivatedautomator.blogspot.com/2010/08/another-simple-build-radiator.html">Another simple build radiator&lt;/a> is just a darn cool re-skinning of Hudson which, while not as fun, is super useful in communicating build status&lt;/li>
&lt;li>Simon started to explain some of the work going on in the guts of Selenium WebDriver in &lt;a href="http://seleniumhq.wordpress.com/2010/08/16/going-atomic-why/">Going Atomic: Why?&lt;/a>&lt;/li>
&lt;li>For those people who loiter in the #selenium irc channel, you have likely seen ‘selbot’ in action. If you wondered where it came from you can read the details from Sauce Labs in &lt;a href="http://saucelabs.com/blog/index.php/2010/08/introducing-selbot/">Introducing selbot&lt;/a>&lt;/li>
&lt;li>Atlassian is a pretty big user of Se and has a post called &lt;a href="http://blogs.atlassian.com/developer/2010/08/selenium_push_my_buttons.html">push my buttons&lt;/a> which explains the myriad of ways you can send a key in Se 1.x. Which IIRC is one of the major improvements that Se 2 provides.&lt;/li>
&lt;li>The march of Flex Pilot continues and so the blog posts from users are starting to appear including &lt;a href="http://mariangemarcano.blogspot.com/2010/08/selenium-testing-with-flex-pilot.html">Selenium Testing with Flex Pilot&lt;/a>&lt;/li>
&lt;li>I was pleading for help on twitter last week and this &lt;a href="http://translate.google.com/translate?hl=en&amp;amp;sl=pt&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.seuenium.com.br%2F2010%2F01%2F04%2Fcapturando-a-tela-com-o-selenium-e-junit%2F">cool use of the JUnit 4 @Rule annotation to get screenshots on test failures&lt;/a> was provided&lt;/li>
&lt;li>If you are using CruiseControl.NET then &lt;a href="http://multitiered.wordpress.com/2010/07/25/integrating-selenium-tests-into-cruisecontrol-net-via-nunit/">Integrating Selenium Tests into CruiseControl.Net via NUnit&lt;/a> is likely going to deliver value&lt;/li>
&lt;li>&lt;a href="http://www.lostechies.com/blogs/louissalin/archive/2010/08/22/silverlight-ui-testing-with-selenium-and-ruby.aspx">Silverlight UI testing with Selenium and Ruby&lt;/a> is the first article I think I have seen on the subject. Of course, my memory isn’t so hot at time…&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #23</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-23/</link><pubDate>Mon, 16 Aug 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-23/</guid><description>&lt;p>I was at Agile 2010 in Orlando last week so missed doing the Smattering, so here is two weeks worth of links.&lt;/p>
&lt;ul>
&lt;li>There is crazy amounts of power hiding in that there JUnit 4 library – such as @Rule. One usage of them is &lt;a href="http://blog.schauderhaft.de/2009/10/04/junit-rules/">described here&lt;/a>. A useful pattern indeed when doing something like BDD or ATDD&lt;/li>
&lt;li>The next &lt;a href="http://www.meetup.com/seleniumsanfrancisco/calendar/14320878/">SFSE has been announced&lt;/a>; August 24 at LinkedIn. Se creator Jason Huggins will be fielding questions in a &lt;em>Q&amp;amp;A session on steroids&lt;/em>.&lt;/li>
&lt;li>While on topic of meetups, &lt;a href="http://passionatetester.com">Dawn&lt;/a> will be presenting about Selenesse at &lt;a href="http://agilecarolinasaugust2010.eventbrite.com/">Agile Carolinas&lt;/a> also on the 24th&lt;/li>
&lt;li>iCheckWebsite is an accessibility monitoring site which is a niche that I haven’t seen exploited yet. What is interesting is &lt;a href="http://www.icheckwebsite.com/feature">their checklist of what they check for&lt;/a>. Looks like a great start for a suite of Se tests.&lt;/li>
&lt;li>Se plays a large part in Continuous Deployment setups, but what I am really interested in is Continuous Delivery. Jez (who literally wrote the book on it) explains &lt;a href="http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/">the difference between the two&lt;/a>.&lt;/li>
&lt;li>One of the better sessions I went to at Agile last week was &lt;a href="http://tourdedave.com/i-came-i-saw-i-spoke-at-agile-2010/">Mountains to Molehills: A Story of QA&lt;/a> that featured some Se content so gets included here.&lt;/li>
&lt;li>&lt;a href="http://mariangemarcano.blogspot.com/2010/08/setting-up-flex-testing-with-selenium.html">Setting up flex testing with selenium&lt;/a> – with Selenium Flex API and FlashSelenium&lt;/li>
&lt;li>&lt;a href="http://www.wakaleo.com/blog/279-selenium-2web-driver-the-land-where-page-objects-are-king">Selenium 2/Web Driver – the land where Page Objects are king!&lt;/a> is the winner of the ‘most twitter love for the last two weeks’ award.&lt;/li>
&lt;li>Samit continues to churn out plugins for Se-IDE, this time with the &lt;a href="http://reallysimplethings.wordpress.com/2010/08/02/log-search-bar-plugin-for-selenium-ide/">Log Search Bar Plugin&lt;/a>&lt;/li>
&lt;li>The Bromine kids have released a bit of a case study on the Roskilde Festival and CI in &lt;a href="http://blog.brominefoundation.org/2010/07/continuous-integration-of-the-orange-feeling/">Continuous integration of the orange feeling&lt;/a>&lt;/li>
&lt;li>Ooo! &lt;a href="http://www.automatedtestinginstitute.com/home/index.php?option=com_jforms&amp;amp;view=form&amp;amp;id=10&amp;amp;Itemid=183">A completely useless tool competition!&lt;/a> – Vote Selenium!&lt;/li>
&lt;li>&lt;a href="http://sourceforge.net/projects/webauthfw/">Web Automation Framework&lt;/a> claims to integrate Selenium, TestNG, ReportNG, SimpleXML, Java, Sikuli, Flash-selenium — which is an interesting fruit salad as it lists apples, oranges, bananas and pears when comparing things.&lt;/li>
&lt;li>I hate to pimp my own stuff, but &lt;a href="http://softwaretestpro.com/Item/4859/Six-Shocking-Automation-Truths/Automation-Best-Practices-Software-Test-Professionals-Conference">Six Shocking Automation Truths&lt;/a> did fairly well from page view perspective. It even spawned a well thought out &lt;a href="http://discoveredtester.blogspot.com/2010/08/my-take-on-adam-gouchers-six-shocking.html">response/reaction.&lt;/a>&lt;/li>
&lt;li>Again, sorry to have my stuff in here, but if you are wondering what Page Objects are (and how to implement them in Python) then my article &lt;a href="http://www.pragprog.com/magazines/2010-08/page-objects-in-python">Page Objects in Python&lt;/a> from the August issue of PragPub is what you need.&lt;/li>
&lt;li>Managing Se-Grid machines is a pain (which is why you have companies like Sauce Labs coming into the fray. Another option is to use Copper from GridCentric to have &lt;a href="http://blog.gridcentriclabs.com/2010/07/elastic-build-systems.html">Elastic Build Systems&lt;/a>&lt;/li>
&lt;li>One of the Se 2a6 new features was the Web Timings API which David experiments with in &lt;a href="http://www.theautomatedtester.co.uk/blog/2010/selenium-webtimings-api.html">Automating the Capture of Web Timings with Selenium 2&lt;/a>&lt;/li>
&lt;li>Parallelism is kinda (but not really) solved by Se-Grid, but when you start specing out machines, do you need more &lt;a href="http://content.dell.com/us/en/enterprise/d/large-business/thread-cores-which-you-need.aspx?dgc=SM&amp;amp;cid=57468&amp;amp;lid=1479422">threads or cores – and do you know the difference?&lt;/a>&lt;/li>
&lt;li>Robot Framework is growing Flash/Flex support; the status of which can be see in &lt;a href="http://groups.google.com/group/flex-pilot/msg/ef60fcadab56fc8e?pli=1">this email from the flex-pilot mailing list&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #22</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-22/</link><pubDate>Mon, 02 Aug 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-22/</guid><description>&lt;p>Happy &lt;a href="http://en.wikipedia.org/wiki/John_Graves_Simcoe">Simcoe Day&lt;/a>. Only a handful of links this week to mention.&lt;/p>
&lt;ul>
&lt;li>Kevin relaunched &lt;a href="http://mogotest.com">Mogotest&lt;/a> – &lt;em>see your website the way your users do.&lt;/em>&lt;/li>
&lt;li>In a much earlier Smattering I think I linked to an announcement about a Se talk at Boston.rb. Well, &lt;a href="http://blog.darnowsky.com/2010/07/27/slides-from-selenium-presentation-at-bostonrb.html">here are the slides&lt;/a>&lt;/li>
&lt;li>While not directly related to Se, the W3C has released their Unified Validator called, wait for it, &lt;a href="http://validator.w3.org/unicorn/">Unicorn&lt;/a>. So who is going to create the integration that magically sends pages to be validated there?&lt;/li>
&lt;li>‘Ad Hoc Workflows’ appears to be a plugin for Confluence, and is a user of Se. They released a video last week of their &lt;a href="http://www.adhocworkflows.com/display/WWW/2010/07/23/How&amp;#43;we&amp;#43;use&amp;#43;Selenium&amp;#43;to&amp;#43;test&amp;#43;Ad&amp;#43;hoc&amp;#43;Workflows">tests in action&lt;/a>. (Make sure to have you volume up for the great soundtrack)&lt;/li>
&lt;li>The exploration of Se 2 and Ruby gets even deeper with &lt;a href="http://mountaintroll.blogspot.com/2010/07/adding-automation-to-your-selenium-20.html">Adding automation to your Selenium 2.0 tests (Ruby)&lt;/a> – oh, and RSpec and Rake.&lt;/li>
&lt;li>Michael guest posted on this blog on &lt;a href="http://seleniumhq.wordpress.com/2010/07/30/how-to-use-selenium-2-with-maven/">How to use Selenium 2 with Maven&lt;/a> which was a bit of a mystery as we internally changed how thing work around Maven but forgot to really communicate that.&lt;/li>
&lt;li>Sauce Labs is having a webinar this Thursday on &lt;a href="https://www1.gotomeeting.com/register/244624344">Cloud-Based Web Application Testing for Adobe Flex and Flash&lt;/a>. Register now, etc.&lt;/li>
&lt;li>&lt;a href="http://kristjansson.us/?p=947">Selenium browser UnitTesting from TeamCity&lt;/a> is full of XML and C# that I’m sure would make sense to people familiar to TeamCity&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #21</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-21/</link><pubDate>Mon, 26 Jul 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-21/</guid><description>&lt;p>I thought it had been a slow week — until I looked at how many browser windows I had open. I wonder if that was why things were feeling a bit sluggish…&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Some bits of history from Simon Stewart&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.io.com/~wazmo/blog/archives/2004_10.html#000224">First announcement of Selenium&lt;/a> (outside of Thoughtworks)&lt;/li>
&lt;li>&lt;a href="http://groups.google.com/group/webdriver/browse_thread/thread/f2f44ac9ccb42e66">First announcement of WebDriver&lt;/a> (again, outside of Thoughtworks)&lt;/li>
&lt;li>&lt;a href="http://groups.google.com/group/webdriver/browse_thread/thread/b089f9a193e4eec9">The ‘merger’ announcement&lt;/a> (aka Selenium 2)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>More history lessons on &lt;a href="http://cloudcomputingshow.blogspot.com/2010/07/cloud-computing-show-35.html">Cloud Computing Show #35&lt;/a> where Jason recounts the origin of Se (and other stuff)&lt;/p></description></item><item><title>A Smattering of Selenium #20</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-20/</link><pubDate>Mon, 19 Jul 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-20/</guid><description>&lt;p>12 hours late, but I was driving draft horses all day so that’s my excuse and I’m sticking with it. Enjoy. I’m going for a nap.&lt;/p>
&lt;ul>
&lt;li>The big news this week was the &lt;a href="http://seleniumhq.wordpress.com/2010/07/14/selenium-2-0a5-released/">next alpha of Se 2 came out&lt;/a>. Time to update those automation machines.&lt;/li>
&lt;li>Like TestNG’s @BeforeClass and @AfterClass but using JUnit4? &lt;a href="http://www.eviltester.com/index.php/2010/07/17/using-junit-nested-suites-with-selenium-rc-to-simulate-testng-suite-and-grouping-annotations/">Using JUnit Nested Suites with Selenium RC to simulate TestNG suite and grouping annotations&lt;/a> is a long titled post, but describes how to fake one out to act like the other.&lt;/li>
&lt;li>Also on the topic of TestNG is the announcement of &lt;a href="http://www.nabeelalimemon.com/blog/2010/07/selenium-on-testng/">Selenium on TestNG&lt;/a>&lt;/li>
&lt;li>The folks at ActiveState did a survey in their community about tooling and &lt;a href="http://www.activestate.com/blog/2010/07/survey-says-selenium-nose-most-popular-test-framework">Selenium won&lt;/a>&lt;/li>
&lt;li>I had to hack DNS a bit for a client’s Se setup to work the other week, but that seems pretty kludgey compared to &lt;a href="http://twasink.net/blog/2010/07/selenium-trick-using-a-different-dns/">Selenium Trick: Using a different DNS&lt;/a>&lt;/li>
&lt;li>Using ExtJS? According to &lt;a href="http://www.jslog.com/testing-extjs-with-selenium-automating-ui-tests">Testing ExtJS with Selenium Automating UI Tests&lt;/a> the trick is to use CSS as your location strategy&lt;/li>
&lt;li>Jason Huggins was interviewed by Matt Heusser in &lt;a href="http://www.softwaretestpro.com:80/Item/4832">Episode 3 of TWiST&lt;/a>&lt;/li>
&lt;li>If you are doing Se, then you are doing code. If you are converting ‘classic’ manual testers to do automation you need to start thinking about &lt;a href="http://deancornish.blogspot.com/2010/07/training-testers-in-how-to-code.html">Training Testers in how to code…&lt;/a>&lt;/li>
&lt;li>While not directly related to Se, &lt;a href="http://blog.nobien.net/2010/07/19/practicing-continuous-integration-on-flash-projects-using-hudson/">Practicing Continuous Integration on Flash Projects: Using Hudson&lt;/a> is the wrapup post in a series on doing what it says. If you are doing CI, and of course &lt;em>everyone&lt;/em> is, then it needs to be for all parts of your system&lt;/li>
&lt;li>&lt;a href="http://blog.shino.de/2010/07/18/parkcalc-automation-%E2%80%93-keyword-driven-tests-in-fitnesse/">ParkCalc automation – Keyword-driven tests in FitNesse&lt;/a> wraps up the series by Markus Gärtner that has been mentioned the last two weeks as well.&lt;/li>
&lt;li>&lt;a href="http://blog.buberel.org/2010/07/howto-test-jquery-ajax-autocomplete-menus-with-selenium.html">HOWTO: Test JQuery AJAX autocomplete menus with Selenium&lt;/a> details something that is fairly common I think.&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #19</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-19/</link><pubDate>Mon, 12 Jul 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-19/</guid><description>&lt;p>I’ve got a full day of driving ahead of me to go to a client so this is the early-morning (for me) edition of the Smattering post. That of course means there will be an absolute link explosion in about 20 minutes.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://seleniumexamples.com">Dave&lt;/a> talks about some of the stuff he is doing with Se-IDE in the post &lt;a href="http://seleniumexamples.com/blog/improvements/improving-selenium-ide/">Improving Selenium IDE&lt;/a>&lt;/li>
&lt;li>Another post on how to deal with &lt;a href="http://blog.codecentric.de/en/2010/07/file-downloads-with-selenium-mission-impossible/">file downloads in Se&lt;/a>. Mission Impossible no more&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/hue/">Hue Doj&lt;/a> got some tweet love as another possible locator strategy for Se. So who wants to write the integration?&lt;/li>
&lt;li>I’m really starting to enjoy JUnit 4. &lt;a href="http://www.testjutsu.com">Ben&lt;/a> has been learning about it too and shares &lt;a href="http://www.testjutsu.com/data-driven-selenium-in-junit-via-parameters">Data driven Selenium in JUnit via @Parameters&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://fakeapp.com/">Fake.app&lt;/a> also got some twitter love. It looks nice, but drag-and-drop script creation and Mac only will ultimately limit its growth capability&lt;/li>
&lt;li>There was a contest around the test management system, TestRail. What is cool though is the &lt;a href="http://code.gurock.com/p/testrail-miniapi/">API&lt;/a> that they have for it that allows external script engines report into it. It’s all about the integrations…&lt;/li>
&lt;li>The Bromine project has released &lt;a href="http://brominefoundation.org/cast/Bromine.html">new screencast&lt;/a> which showcases Sauce OnDemand and Hudson integration. And it is a really slick integration at that.&lt;/li>
&lt;li>&lt;a href="http://passionatetester.com">Dawn&lt;/a> is &lt;a href="http://java.dzone.com/videos/video-agile-testing-and">interviewed on DZone&lt;/a> about Agile testing and SeleNesse (the Se / Fitnesse bridge)&lt;/li>
&lt;li>&lt;a href="http://www.franciscosouza.net/2010/07/high-level-acceptance-testing-in-your.html?spref=tw">High level acceptance testing in your PHP applications using Python, Lettuce and Selenium&lt;/a> is a mini tutorial on umm, well, High level acceptance testing in your PHP applications using Python, Lettuce and Selenium&lt;/li>
&lt;li>&lt;a href="http://markgandolfo.com/2010/07/01/hudson-ci-server-running-cucumber-in-headless-mode-xvfb">Hudson Ci Server Running Selenium/Webdriver Cucumber In Headless Mode Xvfb&lt;/a> is another well named post&lt;/li>
&lt;li>If you are using FarCry, &lt;a href="http://farcry.posterous.com/testmxunit-farcry-testing-framework-supports">testMXUnit&lt;/a> will take a Selenese script and convert it to a format it needs&lt;/li>
&lt;li>&lt;a href="http://www.javauc.com/java/2625">Programmatic testing with Selenium and TestNG&lt;/a> is a nice post that discusses TestNG, DbUnit, and Cargo&lt;/li>
&lt;li>Se-IDE Plugin: &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/189780/">Stored Variables Viewer&lt;/a> – &lt;em>This plugin allows you to view these variables when the test is running.&lt;/em>&lt;/li>
&lt;li>Another post from Markus Gärtner on a European Weekend Testing session on automation with RobotFramework; this time titled &lt;a href="http://blog.shino.de/2010/07/05/parkcalc-automation-a-short-reflection/">ParkCalc automation – A short reflection&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://github.com/pinhook/funcunit/tree/master/synthetic">Syn JS&lt;/a> claims to provide proper click events for Se 1.x scripts. It was only &lt;a href="http://groups.google.com/group/javascriptmvc/browse_thread/thread/ccd73cf4bcd65c5">soft launched&lt;/a> but expect more from these folks in the near future&lt;/li>
&lt;/ul>
&lt;p>And lastly, BrowserMob, which was started by Se Core member Patrick Lightbody announced that &lt;a href="http://blog.browsermob.com/2010/07/browsermob-joins-neustar-webmetrics-family-of-services/">it has been acquired by Neustar Webmetrics&lt;/a>. Congrats! Now stop drinking the champagne and get back to work! 🙂&lt;/p></description></item><item><title>A Smattering of Selenium #18</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-18/</link><pubDate>Mon, 05 Jul 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-18/</guid><description>&lt;p>Not too much this week with various holidays around the world, but still managed to dig some things up.&lt;/p>
&lt;ul>
&lt;li>Sauce Labs has started &lt;a href="http://saucelabs.com./about/webinars">a webinar series&lt;/a> and recently had one on &lt;a href="http://saucelabs.com/blog/index.php/2010/06/live-video-demo-using-cucumber-to-test-apps-in-the-cloud/">using Cucumber and OnDemand&lt;/a>. Cucumber and Robot Framework like tools are the coming wave of testing tools.&lt;/li>
&lt;li>Another bit of Sauce-ish news is the folks at Rally put up &lt;a href="http://www.rallydev.com/engblog/2010/06/29/sauce-ondemand-with-selenium-2-0-and-webdriver/">a post on how to get Se 2 scripts in their OnDemand cloud&lt;/a>&lt;/li>
&lt;li>If writing Se scripts is ‘programming’, then writing the controlling frameworks is &lt;em>real&lt;/em> programming. That means that proper development practices should be followed; such as TDD. If you are new to TDD, then The Prags have &lt;a href="http://pragprog.com/screencasts/v-kbtdd/test-driven-development">released a screencast series by Kent Beck&lt;/a> would be helpful. I’ll be getting this one as soon as my to-watch backlog gets under control.&lt;/li>
&lt;li>&lt;a href="http://blog.ernster.co.uk/?p=15">Re-usable Selenium Testing with GWT&lt;/a> has lots of tricks to dealing with GWT widgets — something which comes up a lot on the Se-Users mailing list&lt;/li>
&lt;/ul>
&lt;p>And lastly, the &lt;a href="http://area51.stackexchange.com/proposals/4693">Selenium Stack Exchange proposal&lt;/a> has progressed to the next level which is getting people to commit to using it. The number of commits is a convoluted formula, but every one counts. If you think the Se-Users mailing list is too crazy, this format might be better for you.&lt;/p></description></item><item><title>A Smattering of Selenium #17</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-17/</link><pubDate>Mon, 28 Jun 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-17/</guid><description>&lt;p>Here are the posts dealing with Se, and/or automation in general that caught my eye and interest.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.codekoala.com/blog/2010/selenium-unit-test-reuse/">Selenium Unit Test Reuse&lt;/a> illustrates one way of iterating through environments and browsers in a script without using Se-Grid. I’ve done similar tricks to this to some success — the problem is usually reporting though, but you are all clever folks so I’m sure you could add it in.&lt;/li>
&lt;li>Adding a custom header is sometimes required when writing a script, but its not really that documented so Kevin wrote &lt;a href="http://mogotest.com/blog/2010/06/23/how-to-perform-basic-auth-in-selenium">How to Perform Basic Authentication in Selenium&lt;/a> which combines how to do basic auth &lt;em>and&lt;/em> header injection.&lt;/li>
&lt;li>Not running your scripts inside CI yet? Shame on you! Hudson creator Kohsuke Kawaguchi &lt;a href="http://about.digg.com/blog/digg-technical-talks-kohsuke-kawaguchi">gave a talk at Digg&lt;/a> which they recorded. I haven’t watched it yet, but Se gets a mention according to the notes at the bottom.&lt;/li>
&lt;li>Haven’t heard of the HAR (HTTP ARchive) format? Don’t worry, I hadn’t either until &lt;a href="http://groups.google.com/group/selenium-developers/browse_thread/thread/aafbe61c46ffa0df">a bit of a discussion about the captureNetworkTraffic&lt;/a> was had and its future in Se&lt;/li>
&lt;li>The Faker/Sham combination is established in the Ruby (and Perl) world as the way to generate random data of a prescribed format. Anthony has release a similar module for Python with some pythonic twists called &lt;a href="http://github.com/antlong/Picka">Picka&lt;/a> (as in ‘Pick a card, any card’ erm, well, name or address actually)&lt;/li>
&lt;li>Looking for an example of Page Objects in C#? I was last week and Dave convienently enough posted a &lt;a href="http://www.theautomatedtester.co.uk/tutorials/selenium/page-object-pattern.htm">page object pattern tutorial&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.testjutsu.com/adieu-to-qtp-now-for-a-closer-look-at-selenium">Adieu to QTP. Now for a closer look at Selenium&lt;/a> makes the list just because it uses ‘QTP’ and ‘Chinese bile farm’ in the same sentence.&lt;/li>
&lt;li>Browsermob opensourced &lt;a href="http://github.com/lightbody/browsermob-sep4j">sep4j&lt;/a> (which I think stands for ‘Se Parallel for Java’) which is a &lt;em>Collection of utilities for Java-based projects to enable Selenium test parallelization using Selenium Grid or Sauce&lt;br>
Labs.&lt;/em>&lt;/li>
&lt;li>Richard presented at the LJC Unconference on ‘Agile Acceptance Testing with Cucumber, Cuke4Duke, Groovy &amp;amp; Selenium’ and has &lt;a href="http://www.rapaul.com/2010/06/26/agile-acceptance-testing-slides/">posted his slides&lt;/a>&lt;/li>
&lt;li>Speaking of acceptance tests, Gojko has a post on the &lt;a href="http://gojko.net/2010/06/16/anatomy-of-a-good-acceptance-test/">Anatomy of a good acceptance test&lt;/a>&lt;/li>
&lt;li>Last thing on acceptance tests for this week is actually multiple things. Markus recently did a Weekend Testers event using RobotFramework and ParkCalc and has started a series of posts about it: &lt;a href="http://blog.shino.de/2010/06/20/parkcalc-automation-getting-started/">Getting Started&lt;/a>, &lt;a href="http://blog.shino.de/2010/06/24/parkcalc-automation-refactoring-a-data-driven-test/">ParkCalc automation – Refactoring a data-driven test&lt;/a> and &lt;a href="http://blog.shino.de/2010/06/26/parkcalc-automation-refactoring-a-keyword-driven-test/">ParkCalc automation – Refactoring a keyword-driven test&lt;/a> are the first three posts in it. Hopefully there will be more too.&lt;/li>
&lt;li>And I’ll finish with one of my posts from this week which was on how to &lt;a href="http://element34.ca/blog/dealing-with-file-downloads-with-selenium">deal with pesky file downloads in Se&lt;/a>. (hint: don’t use Se for downloading files)&lt;/li>
&lt;/ul></description></item><item><title>A Smattering of Selenium #16</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-16/</link><pubDate>Mon, 21 Jun 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/a-smattering-of-selenium-16/</guid><description>&lt;p>I’m going to start posting the Smattering posts here on the main Selenium blog, hopefully each Monday. For past ones see &lt;a href="http://adam.goucher.ca/?s=a&amp;#43;smattering">my personal blog’s archive&lt;/a>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blog.codecentric.de/en/2010/06/style-tests-mit-selenium-und-robotframework">Style Tests using Selenium and Robotframework&lt;/a> – &lt;em>With those simple steps we are able to do regression testing on our user interfaces that have strict standards&lt;/em>&lt;/li>
&lt;li>&lt;a href="http://adhockery.blogspot.com/2010/06/export-selenium-ide-scripts-for-grails.html">Export Selenium IDE scripts for Grails&lt;/a> – A plugin which does exactly what the announcement says.&lt;/li>
&lt;li>&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/106193/">Selenium XML Formatter&lt;/a> – Hurray for plugins!&lt;/li>
&lt;li>&lt;a href="http://testapi.codeplex.com/">TestApi – a library of Test APIs&lt;/a> – Seems like it might be useful for people working in .NET land&lt;/li>
&lt;li>&lt;a href="http://sourceforge.net/projects/blueducksrc/">BlueDuck Selenium Remote Control&lt;/a> – The folks at BlueDuck have packaged a release of Selenium RC with an installer and GUI for controlling options&lt;/li>
&lt;li>&lt;a href="http://wiki.onehippo.com/display/CMS7/Create&amp;#43;a&amp;#43;Selenium&amp;#43;test&amp;#43;case">Selenium and Hippo CMS&lt;/a> – Its not a plugin — locators are next on the pluginification list — but if you are using Hippo CMS and want to use Selenium with it, this custom locator makes the integration easier.&lt;/li>
&lt;li>&lt;a href="http://www.silverwareconsulting.com/index.cfm/2010/6/7/Checking-for-JavaScript-Errors-with-Selenium">Checking for JavaScript Errors with Selenium&lt;/a> – This is the coolest trick I have seen in quite a while!&lt;/li>
&lt;li>&lt;a href="http://www.gorillalogic.com/flexmonkium">FlexMonkium&lt;/a>, Gorilla Logic’s bridge between Selenium and their FlexMonkey product is now available in beta. Yup, its partly a plugin for Se-IDE. (Oh, and their &lt;a href="http://eon.businesswire.com/portal/site/eon/permalink/?ndmViewId=news_view&amp;amp;newsId=20100609005532&amp;amp;newsLang=en">press release&lt;/a> has a quote which I think is the first time that has happened…)&lt;/li>
&lt;li>Not to be outdone, Sauce Labs have announced &lt;a href="http://saucelabs.com/flex">support for Flex and Flash as well&lt;/a>. Care to guess how it is implemented? A plugin…&lt;/li>
&lt;li>Working with Joomla? You could recycle their &lt;a href="http://docs.joomla.org/Selenium_Test_Case_Methods">Test Case Methods&lt;/a> to automate some of your tasks. Creating product DSL-like helper wrapper things is exactly the right path to take.&lt;/li>
&lt;li>&lt;a href="http://mintdigital.github.com/pyrite/">Pyrite&lt;/a> – &lt;em>Easy peasy in-browser testing with Selenium&lt;/em> (in Ruby)&lt;/li>
&lt;li>Using &lt;a href="http://saucelabs.com/products/sauce-ondemand">Sauce Labs OnDemand&lt;/a> and &lt;a href="http://hudson-ci.org">Hudson?&lt;/a> The is &lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Sauce&amp;#43;OnDemand&amp;#43;Plugin">now a plugin for that&lt;/a>.&lt;/li>
&lt;li>&lt;a href="http://github.com/FrozenCanuck/Lebowski">Lebowski&lt;/a> is &lt;em>The test automation framework for SproutCore applications&lt;/em> and uses Se at its core.&lt;/li>
&lt;li>&lt;a href="http://raibledesigns.com/rd/entry/running_selenium_tests_on_sauce">Running Selenium Tests on Sauce Labs&lt;/a> describes, well, how run Se test in On Demand (in Java).&lt;/li>
&lt;/ul></description></item></channel></rss>