google (15)

C#, Selenium & NUnit

This trio provides a quick and easy way to set up UI-driven tests with Selenium webdriver, and Visual Studio, C# and NUnit to create and initiate the tests.  Here is a step by step guide, using the customary google search scenario as example (fast becoming the “Hello World!” of testing).

First WordPress plugin

I released my first WordPress plugin today. I have have been trawling through custom code I have coded over years, and found some that are ideal to turn into plugins. The first is a simple on that adds an address field on the post form, and allows user to add a googlemap identifying location, with a customisable widget. Will be adding a proximity search and multiple map marker display in future releases.  Will also be creating a user guide to demontsrate how to create plugins, and how this particular one was made.

Are we there yet?

Since when did programming language become a fashionable label? I mean, its all code and approach; no magic wands.

With all the meetups and new course the development world is buzzing with activity. But something strangely familiar and stagnant about it already. Meetups preaching largely to the converted, numerous testing and development courses that attempt to each sell themselves as THE course, older school who don’t want to move forward themselves but latch onto modern thinking as a sales and money-generating tool. The early-birds, which save you little except committing to something you may not even be able to make. Oh yes, mix with the higher echelons of technology and define your future. Though you are not defining yours, you are defining theirs. And you think the web 2.0 mentality has gone – “how can I make you make me money?”. Whether Google+ or a well-meaning group set up for enthusiasts of a particular area of technology – ultimately the individual will pay the price for a small section of people’s success, because the entire model of professional networking is wrong.

You Are My BotFinally, I am moving jaffamonkey away from simply a contractor company, and starting a “hub” of my own focused on my two areas of Quality Assurance and WordPress. Though I have to be cautious about labels such as “fashion-free” and “no Nathan Barleys”, as it is easy to slip into an ironic kudos area. But this is very much what I want from it. Take a look at Shoreditch, home to the beautiful people of technology, where Google has set up a base. There is nothing special here – people with ideas are everywhere, but because of the vacuous recent movements in technology (putting it in the realms for those who wish to affiliate rather than integrate), there are many very weak ventures of little use to anyone except those who benefit from short-term gains. Sounding familiar? Are newer generations simply getting trapped in same patterns as those they purport to rebel against? Of course they are.

When things move into a fashion zone, they automatically become part of something that is ultimately disposable. The fashion-ability determines its duration. Little consideration is made of the technology or approaches, and rarely shared. What underpins software is code, and code has evolved slowly in comparison with everything else and with good reason. It ultimately has to work, and lessons learnt over the decades have evolved to the point we are now. But now, people carry their programming language(s) like some kind of fashion badge. When it’s irrelevant. Instead of nodding towards vacuous networking, pro-actively mix with other people. You can always find an audience who will agree with anything you say. But finding a vibrant audience with questions, opinions and disagreements is far more valuable. The new “hub” will be open soon, and focus on enabling and connecting people. Not all ideas may succeed. but they can all help with our education in an atmosphere of mutual support and communication. Watch the blog …

Semantic pants

I should add here, that this is based on a description a non-techie friend gave me,  on how google searching worked.

The semantic web. Take the word pants.

User 1: Has a dog and looks up symptoms (possible search string – “dog pants too much”)
User 2: Buys a lot of pants (possible search string – “bargain pants sale”)
User 3: Enjoys photos of soiled pants – hey, it takes all sorts to make a world (possible search string – “dirty mens pants
User 4: From generation who uses word pants to describe something that’s not very good. (possible search string – “what political party is the most pants“)
User 5: Combination of users 1-4

Using the search string to identify a user from the list, “soiled pants” could only User 3; but there is also User 6, who has diarrhoea. It won’t make them feel any better if their search returns photos of pants that have seen a lot of action and not much washing. Now of course in some countries, “pants” actually means “trousers”, so you have to account for different meanings depending on location. Which the search engine can usually pick up on. They get that right most of the time. So now we have User 7 – an American who likes to buy his pants online.  Yes, at least a search engine can assume user is after male pants.  So take the search string “bargain pants” from a UK location.  The search engine picks up of “bargain” is is reliably associated with shopping related search string .  Could be a man or woman buying for a man.  Or maybe a woman feels more comfortable in pants, or turned on by wearing mens pants.  You can see how complex it can get very quickly.  It’s people’s little perversions and quirks that will really throw search engines off the track.  If only us annoying users would use the word “Y-Fronts” instead of “pants“, it would make search engines lives a little easier.  But you can see how implementing a semantic approach to web searching can quickly get complex.

From this rudimentary approach to a semantic web, search engines can start building up profiles. Not logged in? No problem – they record your IP and surfing history anyway. What, you think they need permission? User 5 is why it still doesn’t work very well yet. No-one is so simple and straight-forward enough to pigeon-hole so easily. So it’s on it’s way, and as long as search engines like Google can stop falling over themselves telling us what we want, rather than trying to work it out, we will get there. In the meantime be careful out there, or you may end up with a profile you can’t shake off 😉

Interesting note – when I search “pants” on Google UK, the images are 99% trousers. #fail

HTMLUnit and Proxies

Proxies are bain of automated testing, but there is simple way to both create a profile add proxy details, along with username and password (often forgotten in proxy tutorials). Here is the Java code that solves issue, when using Selenium Web Driver and HTMLUnit.