Just an FYI with my random thoughts on creative uses of Selenium driver bindings.

This is primarily for Selenium RC, but may be adaptable for Selenium 2, WebDriver by changing the protocol communication to JsonWireProtocol and to expose WebDriver API commands.

There is AutoIt driver for Selenium RC (planned work for Selenium 2). This offers good integration with AutoIt, allowing to automate all in AutoIt script.


Expanding on that, AutoIt script language is very similar to VBScript. One can port that to VBScript with some work and be able to better integrate with tools like QTP and other VBScript-based tools. A very good option for those familiar with QTP or want to integrate with QTP for web + desktop automation.

A VBScript driver also provides option of server side Selenium execution by Active Server Pages (ASP) using VBScript (or JScript, see later notes), where you can call ASP page from web page form submission, or a client script to call ASP as web service API to drive Selenium. But of course, you can also do this with most of the other bindings as well (Java, C#, Ruby, Python, Perl, PHP).

Further expanding on that, it is also possible to port from VBScript to Javascript with some work, particularly if we're talking of Microsoft's JScript variant for Windows Scripting Host (WSH, command line / desktop) execution. The AutoIt Selenium driver uses XmlHttpRequest to communicate with Selenium Server, and as such Javascript can do same. But in terms of Javascript, if ported, you can use beyond WSH, such as:

* on Linux/Mac environments with Rhino Javascript engine, etc.
* execute Selenium RC commands via XmlHttpRequest in IE HTA applications or web pages with cross-domain security restriction removed (i.e. HTA/web app to provide Selenium IDE like UI)