How does it interact with the browser?

How does the WebpageTest framework interacts-with/commands the browser?

My current theory is the following:
1- The system relies on WptDriver (and/or wpthook.dll) to handle the interaction - inject commands and get to know current browser’s state (which elements exist, etc).
2a- That driver/hook is WebDriver or is a wrapper to it (Selenium (software) - Wikipedia)
or
2b- That driver/hook implements the same interface to control WebBrowsers as WebDriver (WebDriver)
or
2c- That driver/hook implements pretty much the same functionalities as WebDriver.

If I’m not very far off, is the WebpageTest framework expected to successfully execute “Selenese” scripts created for WebDriver, for example created for Selenium with the Selenium-IDE?

There are some messages where Pat explains how it works in the forum but I can’t find them ATM.

For IE a .dll is injected into the IE process, Chrome and Firefox use a browser plugin.

As far as I’m aware there is no support for Selenium scripts.

WebPagetest’s agents generally don’t have anything in common with webdriver or selenium. The exception is the node.js agent (under agents/js) which can run javascript webdriver scripts and uses webdriver to drive the browser (and it captures the performance data through dev tools). It only works with webkit-based browsers that support remote dev tools and it’s still in alpha state but we are actively working on the code now.

The rest of the agents are all custom and use different forms of code injection to interact with and instrument the browsers.