QF-Test has three different modes to gain access to a browser. This section describes these modes in details.
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
|Table 47.7: Connection mode for browsers|
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.
Chrome DevTools Protocol is an API that is available for testing and debugging of browsers based on Chromium (Google Chrome, Microsoft Edge and Opera) and is used for example in embedded development tools. Since version 5.3 QF-Test uses this interface to connect and communicate with a browser. Unfortunately, Mozilla does not provide a full implementation of such an interface for Firefox. Such an implementation does not exist also for Safari.
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.
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.
|Last update: 9/6/2022|
Copyright © 1999-2022 Quality First Software GmbH