Greg Wilson has ranted a number of times about how hard package management is both from a teaching perspective and a get-the-blasted-thing-wired-properly-on-a-given-machine one. I had more or less written this rant off as it had never happened to me — until now. Enter Postgres. Part of doing effective automation is verifying what you see in [...]
¶
Posted 03 February 2012
§
blog
‡
°
Meta elements are the HTML or XHTML <meta … > element used to provide structured metadata about a Web page. – Wikipedia Often functional scripts using Selenium worry only about the flows of an app, but sometimes the non-interaction parts are just as important — or more so. One such example is the meta tags [...]
¶
Posted 01 February 2012
§
blog
‡
°
Tagged: php
As I mentioned in a survey of the php and selenium landscape I hinted that I was going to likely create my own PHP WebDriver implementation. And sorta have. PHPWebDriver is a fork of the Facebook’s php-webdriver project with a few couple differences which have moved it from the Github definition of ‘fork’ to the [...]
One of the downsides of a Selenium binding that implements the wire protocol literally is, well, it implements the wire protocol literally. Take for instance sending text to an element using the Facebook bindings. $e1 = $this->session->element("id", "some id"); $e1->value(array("value" => array("pumpkins"))); Yuck. Nested arrays? In user-space? Well, it should be in the Page Object, [...]
¶
Posted 27 January 2012
§
blog
‡
°
WebDriver somewhat deviates away from the ‘only what the user can do’ model when it comes to cookies. Which is amazing since it lets us do a bunch of things outside of the browser (like short-circuiting authentication) since browsers are slow. According to the JSON Wire Protocol there are three different ways of interacting with [...]
¶
Posted 25 January 2012
§
blog
‡
°
Part of my sales funnel input is monitoring twitter for ‘Selenium’ and so I see a lot of job adverts. And I’ve come to realize that there is a lot bad hiring out there. This post isn’t aimed at those trying to get hired, but those who are trying to find them. Advertising It is [...]
¶
Posted 23 January 2012
§
blog
‡
°
One problem with large scale automation is that legitimate failures will start to linger about. Whether this is a symptom of the organization not actually caring about the results is a different problem entirely, but one that can be solved at the script level is to make sure that known failures don’t hide new issues. [...]
¶
Posted 16 January 2012
§
blog
‡
°
Here is a another example of a custom Element similar in concept to the one used in but this is a number. Only this time it deals with something far more devious; the search box with a disappearing default string that was mentioned in even framework opinions should be weakly held. The actual implementation of [...]
¶
Posted 13 January 2012
§
blog
‡
°
I bill Saunter as an opinionated framework. That is, there is really only one right place for things and it behaves in certain ways. One of these opinions is that the element being interacted with should have focus, which in Se-RC will move it into the visible part of the browser. This is extremely useful [...]
¶
Posted 11 January 2012
§
blog
‡
°
Selenium has no way of knowing what information displayed in the browser is in terms of its type. Is ABC a string or a hex number? So its all string data, or more accurately, its all unicode data. This can cause problems when trying to do asserts between things. Here is a quick example. Python [...]
¶
Posted 09 January 2012
§
blog
‡
°