Considering Selenium 2 Webdriver has a robust API for interacting with web elements, click, sendKeys, locating elements by XPath, Page objects for organizing test code.

I was wondering if anyone tried implementing a native application driver and test hooks. And what your experience with doing this were?

In the past, I've worked in a company that added test hooks to their native application. But this was fairly annoying as we pretty much had to implement support for just about every action and maintain a interface in both the native app and an API on the java side. I was thinking, perhaps it might be easier just to implement some sort of native application driver, which can translate Selenium Webdriver calls into say window events calls. Then complied into the AUT, could just be something that opens a websocket and can locale native application elements by XPath, and forward those window events.

I'm thinking this might simplify how many organizations tend to use separate tools and apis for automating native and web based code under doing things the Selenium way.