45.3
Browser connection mode

QF-Test has two connection modes the gain access to a browser, QF-Driver mode and WebDriver mode. Both modes have their virtues and will continue to be supported.

4.1+ Given that the QF-Driver approach using embedding is not maintained anymore by some browser vendors or is not supported at all, a new mechanism was implemented for QF-Test 4.1 to support future browsers and browser versions. This mechanism uses Selenium WebDriver as a bridge between the browser and QF-Test.

The following table lists browsers and the respective connection mode. QF-Test determines the correct mode automatically by default. However, you can override the choice via the attribute 'Browser connection mode' in the 'Start web engine' node

Browser Connection mode Comment
Chrome QF-Driver Current stable Chromium Version,
Windows only,
Part of the QF-Test distribution
Chrome WebDriver The ChromeDriver shipped supports various versions, further versions via the automatic ChromeDriver Download. For version number see Supported technology versions
Firefox QF-Driver Versions 38ESR, &=43
Firefox WebDriver Supported by the GeckoDriver shipped, currently 68esr and higher
Internet Explorer QF-Driver  
Microsoft Edge WebDriver  
Microsoft Chromium Edge WebDriver  
Opera WebDriver  
SafariWebDriver 
Table 45.7:  Connection mode for browsers
45.3.1
QF-Driver connection mode

This approach integrates the locally installed browser into a wrapper-window. This approach is also called embedding. QF-Test natively embeds the browser into its own window, thus gaining access to its automation-interfaces. By using these interfaces QF-Test can listen for events from the browser and is also able to inject events into the browser.

45.3.2
WebDriver in general

WebDriver is evolving into a W3C-standard for interacting with web browsers. (http://www.w3.org/TR/webdriver). WebDriver is a remote control interface that enables introspection and control of browsers, based on a platform and language-neutral wire protocol.

The various browser vendors have agreed on this quasi-standard, so that the WebDriver integration is partly implemented directly by the vendors themselves. Partially the integration is based on plugins, some vendors already include the integration in the default setup of their browsers.

QF-Test uses the WebDriver interfaces to interact with the browser. Since the WebDriver approach only partially fits the concepts of QF-Test, its web engine was extended so that most of QF-Test's functionality is also available via WebDriver, including the added benefits like synchronization, abstraction of components etc.

Note Selenium WebDriver requires Java version 8 or higher.

45.3.3
Known limitations of the WebDriver mode

The WebDriver connection mode is under active development. Due to this, some features known from QF-Driver connection mode are not yet available, mostly due to restrictions of the WebDriver specification.

  • No support of file downloads and HTTP authentication.
  • It is not possible to record or replay HTTP requests directly.
  • wd.getComponent(WebElement) does not work currently on elements in inner frames.
  • Events triggering a page load are sometimes not recorded.
  • Event-Synchronization is in some cases delayed.