Handbuch
Version 8.0.1 |
Um Zugriff auf den Browser zu erlangen, verfolgt QF-Test verschiedene Ansätze, die im Folgenden erläutert werden.
4.1+ Da der QF-Driver Ansatz zur Browser-Anbindung mit Hilfe von Embedding leider nicht von allen Browserherstellern weiter gepflegt bzw. überhaupt unterstützt wird, wurde für QF-Test 4.1 ein neuer Mechanismus implementiert, um auch zukünftige Browser und Browser-Versionen für die Tests verwenden zu können. Dieser Mechanismus verwendet als Bindeglied zwischen dem Browser und QF-Test den Selenium WebDriver.
5.3+ Darüber hinaus existiert mit dem CDP-Driver für Chromium-basierte Browser eine effiziente Alternative zum WebDriver-Ansatz.
Nachfolgende Tabelle listet die Browser mit dem jeweils möglichen Verbindungsmodus auf. QF-Test versucht automatisch den richtigen Modus zu wählen. Sie können die Kontrolle darüber mit Hilfe des Attributs 'Verbindungsmodus für den Browser' im 'Web-Engine starten' Knoten übernehmen.
| ||||||||||||||||||||||||||||||||||||||||||||||||
Tabelle 50.8: Verbindungsmodus für Browser |
Bei diesem Ansatz wird der auf dem Rechner des Anwenders installierte Browser in ein sogenanntes Wrapper-Fenster eingebunden. Man spricht bei diesem Ansatz auch von Embedding. QF-Test bindet in dieses Fenster den lokal installierten Web-Browser nativ ein und erlangt somit Zugriff auf die Automatisierungs-Interfaces des jeweiligen Browsers. Über diese kann QF-Test dann die benötigten Events vom Browser abgreifen aber auch umgekehrt Events in den Browser einspeisen.
In Browsern, die auf Chromium basieren (Google Chrome, Microsoft Edge und Opera), steht für Test- und Debuggingzwecke eine spezielle Schnittstelle zur Verfügung, welche zum Beispiel auch durch die im Browser eingebetteten Entwicklungswerkzeuge verwendet wird. QF-Test kann ab Version 5.3 diese Schnittstelle und das Chrome DevTools Protokoll nutzen, um mit dem Browser zu kommunizieren und zu interagieren. Für Firefox steht aktuell leider noch keine vollwertige Implementierung der Schnittstelle durch Mozilla zur Verfügung, gleiches gilt für Safari.
WebDriver entwickelt sich zu einem W3C-Standard für die Steuerung von Web-Browsern. (http://www.w3.org/TR/webdriver). Er ist definiert als sogenanntes Remote-Control-Interface, das es erlaubt, die im Browser anzeigten Inhalte zu analysieren und den Browser zu steuern. WebDriver stellt hierfür ein plattform- und sprachunabhängiges Netzprotokoll zur Verfügung.
Die verschiedenen Browser-Hersteller haben sich auf diesen Quasi-Standard geeinigt, was dazu führt, dass die WebDriver Integration direkt von den Browser-Herstellern mitentwickelt wird. Die Integration erfolgt teilweise über Plugins, bei manchen Herstellern ist die Integration bereits direkt mit in der Standard-Installation des Browsers enthalten.
QF-Test nutzt die WebDriver Interfaces um mit dem Browser zu interagieren. Da der WebDriver Ansatz nur teilweise zu den Konzepten von QF-Test passt, wurde die Web-Engine von QF-Test so erweitert, dass auch bei der Anbindung per WebDriver ein möglichst großer Funktionsumfang von QF-Test genutzt werden kann und dem Anwender die Mehrwert-Features von QF-Test wie z.B. Synchronisation, Abstraktion von Komponenten usw. wie gewohnt zur Verfügung stehen.
Hinweis Der Selenium WebDriver setzt ein Java ab Version 8 und höher voraus.
Die WebDriver Anbindung an QF-Test befindet sich aktuell noch in der aktiven Entwicklung. Daher stehen leider einige Funktionen, die von der QF-Driver Anbindung bekannt sind, noch nicht zur Verfügung. In den meisten Fällen sind diese Einschränkungen dem Umfang der WebDriver Spezifikation zuzuschreiben.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |