Skip to content

2.10 Testen der Anwendung

tobhu1981 edited this page Jan 23, 2024 · 122 revisions
Einführung Entwurf Manuelles/Automatisiertes Testen Selenium Cypress Selektoren

✔️Einführung

Nach der Installation der Anwendung in der eigenen IT-Infrastruktur und der Fertigstellung der Testdateien (Booklet-Xml, Testtaker-Xml, Unit-Xml etc.), sollte die Anwendung getestet werden. Diese Art der Testung nennt sich End-to-end-Testung oder auch Akzeptanztest. Sie soll sicherstellen, dass durch die Installation der Anwendung in der eigenen komplexen IT-Infrastruktur und das Einbringen der individuellen Testdateien, während der Studiendurchführung keine unerwarteteten Fehler auftreten und die Studiendurchführbarkeit somit sichergestellt ist.

Vor Veröffentlichung der Anwendung führt das IQB eigene Testungen durch, die die gewünschten Funktionen der Anwendung sicherstellen sollen. Hierzu zählen E2E-Testungen in der eigenen IT-Infrastruktur und Testungen in anderen Phasen des Software-Lebenszyklus. Die hierbei gemachten Erfahrungen möchten wir gerne an dieser Stelle einbringen, um die Endnutzer*innen bei dem Entwurf und der Durchführung ihrer E2E-Testung zu unterstützen. Wie Ihre individuelle E2E-Testung am Ende aussieht, ist natürlich Ihnen überlassen. Wir können an dieser Stelle nur Empfehlungen geben und Ihnen Werkzeuge nennen, die die Arbeit erleichern können.

Eine solche Testung nimmt in Planung und Durchführung einige Zeit in Anspruch. Wenn möglich planen Sie diese Zeiträume daher rechtzeitig ein und beginnen Sie ehr früher als später. Es ist davon abzuraten einfach drauf los zu testen. Testungen müssen reproduzierbar sein. Damit wird sichergestellt, dass ein aufgetretener Fehler auch ein zweites Mal provoziert werden kann. Die Reproduzierbarkeit wird mittels detaillierter Dokumentation erreicht. Entwurfphase und entsprechende Vorüberlegungen sind also genauso wichtig, wie die eigentliche Durchführung der Testung.

✔️ Entwurf einer Testung

Bevor eine Testung durchgeführt werden kann, muss klar umrissen werden, welche Funktionen eigentlich geprüft werden sollen. Der Anspruch alle möglichen Fehler aufzudecken, sollte aufgegeben werden. Der zeitliche und personelle Aufwand wäre einfach zu groß. Stattdessen sollten Schwerpunkte gesetzt werden. Nachfolgend ist einmal bsph. aufgeführt, welche Fragen sich die Verantwortlichen im Vorfeld stellen könnten, um diese Schwerpunkte zu definieren.

  • Können sich die in der Testtaker-XML angelegten Testpersonen am Testcenter annmelden?
  • Können die angelegten Booklets gestartet werden?
  • Werden die vorgesehenen Aufgaben in festgelegter Reihenfolge dargestellt?
  • Funktioniert das Blättern zwischen den Aufgaben auf die gewünschte Weise?
  • Sind vorgesehene Bezeichner und Schaltflächen vorhanden?
  • Darf erst zur nächsten Aufgabe geblättert werden, wenn Pflichfelder zuvor ausgefüllt wurden?
  • Wenn Zeitbeschränkungen eingerichtet sind, sind diese während der Testung aktiv und funktional?
  • Weisen Aufgabenelemente die gewünschten Funktionen auf, sprich können diese wie vorgesehen bedient werden?
  • Werden die gegebenen Antworten auch korrekt gespeichert?

Sind Schwerpunkte definiert, können weitere Überlegungen angestellt werden:

  • Welche Testdaten werden benötigt?
  • Auf welchen Endgeräten und mit welchen Browsern soll die Studie durchgeführt werden?
  • In welchem Stadium der Studienplanung können Testdaten repräsentativ eingesetzt werden?
  • Mit welcher Version der Anwendung soll die Studie durchgeführt werden und steht diese zum Testzeitpunkt in der eigenen IT-Infrastruktur zur Verfügung?
  • Wie soll getestet werden, manuell oder automatisiert?

Im nächsten Schritt können Sie beginnen Ihre gesetzten Schwerpunkte in Testfälle und detaillierte Testschritte umzuwandeln und entsprechend zu dokumentieren. Klären wir kurz die Begriffe Testfall und Testschritt.

Testfall/ Testschritt:

Ein Testfall ist genau das wonach es klingt: Ein Testszenario welches die Funktionalität einer Reihe von Aktionen oder Bedingungen misst, um das erwartete Ergebnis zu überprüfen. Ein Testfall enthält die einzelnen Testschritte, beginnt meist mit einer knappen Umschreibung und endet mit einer Erwartungsprüfung.

Halten Sie Testfälle wenn möglich granular. Vermeiden Sie Testfälle mit einer großen Anzahl von Testschritten. Teilen Sie die Testfälle lieber auf. Dies erhöht die Übersichtlichkeit. Testschritte sollte so atomar wie möglich gehalten werden, um die Abhängigkeit von anderen Testschritten zu minimieren. Vielleicht hilft an dieser Stelle ein sehr vereinfachtes Beispiel weiter, in diesem Fall mit dem Framework: Selenium und der Programmiersprache JavaScript:

//Testfall Beispiel
describe('Check Google', function () {

    //1. Schritt: Prüfe ob Google geladen werden kann
    it('Öffne Google Seite', async function () {

        //Erzeuge Webdriver Instanz für diesen Testschritt
        let driver = await new Builder().forBrowser("chrome").build();

        //Versuche die Website zu laden.
        await driver.get("http://google.com");

        //Erwartungsprüfung: Wenn die Seite geladen wurde, 
        //wird ein bestimmter Title der Seite erwartet
        var title = await driver.getTitle();
        assert.equal(title, "Google", "Error: Seitenladefehler.");

        //Schliesse Webdriver Instanz
        await driver.quit();

    });

    //2. Schritt: Tue noch etwas auf der Google Seite
    it('Tue noch etwas...', async function () {

        //Erzeuge Webdriver Instanz für diesen Testschritt
        let driver = await new Builder().forBrowser("chrome").build();

        //tue etwas....

        //Schliesse Webdriver Instanz
        await driver.quit();

    });
});

Wie zu sehen ist, kann eine solche Testung schnell groß und komplex werden. Es ist daher entscheidend im Vorfeld eine gute Planung vorzunehmen und Prioritäten zu setzen.

✔️ Manuelles vs automatisiertes Testen

Sind die Testszenarien entworfen und festgehalten, muss im nächsten Schritt überlegt werden wie getestet werden soll. Es kann manuell oder automatisiert getestet werden. Es kann an dieser Stelle keine pauschale Empfehlung gegeben werden, da es von vielen individuellen Faktoren abhängt. Beides hat Vor- und Nachteile. Nachfolgend wird eine kurze Gegenüberstellung aufgezeigt, die Ihnen vielleicht hilft hinsichtlicht dieser Frage eine Entscheidung zu treffen.

ℹ️ Die Anwendung enthält bereits automatisierte Testfälle. Hiermit werden Grundfunktionen der Anwendung automatisiert getestet. Diese Testungen werden vor jeder Veröffentlichung einer neuen Version IQB-seitig durchgeführt. Es steht Ihnen frei diese zu nutzen. Bei Interesse helfen wir Ihnen gerne diese Testfälle auszuführen.

Manuelles Testen

  • sinnvoll bei selten ausgeführten Testungen und kleineren Studien
  • relativ schnelle Entwurfsphase, meist reicht ein Handlungsskript zur Durchführung
  • Pflege und Update sind relativ einfach, da nur Skripte angepasst werden müssen
  • keine zusätzliche Software oder Programmierkenntnisse notwendig
  • Ausführung dauert lange und es wird Personal benötigt, bei größeren Studie erhöht sich der zeitliche Aufwand entsprechend
  • Auswertung muss ebenfalls manuell erfolgen, das kostet Zeit
  • Skripte und Auswertungen lassen sich schlecht organsieren und personalisieren (In welchem Verzeichnis liegt welches Skript und welche Auswertung gibt es dazu?)
  • wenn oft ausgeführt, werden aus mangelnder Motivation gerne Abkürzungen genommen und damit eventuell entscheidene Stelle nicht wie im Skript vorgeschrieben geprüft
  • alle Browser und Endgeräte die getestet werden sollen, müssen physisch vorhanden sein

ℹ️ Es sei an dieser Stelle erwähnt, dass es auch für das manuelle Testen Anbieter gibt, die das Organisieren von Testskripten vereinfachen. Somit können viele Einzeldokumente bspw. mittels Word oder Excel vermieden werden. Hier sind einmal bspw. Testomat.io und Testbench genannt. Beide Anbieter bieten freie Zugänge an, die für kleinere Testungen ausreichend sind.

Automatisiertes Testen

  • sinnvoll bei häufig ausgeführten Testungen und größeren Studien
  • Ausführung ist schnell und homogen
  • gute Auswertungsmöglichkeiten, da automatisch Testergebnisse gespeichert werden
  • Verwaltung der Tests und zugehörige Auswertungen ist übersichtlich
  • zu testende Endgeräte müssen nicht zwingend physisch vorhanden sein, es kann schnell gegen emulierte Geräte getestet werden
  • Entwurfsphase benötigt Zeit
  • Pflege und Update können je nach eingesetzter Software aufwändig werden
  • zusätzliche Software notwendig und je nach Einsatz Programmierkenntnisse im kleineren Umfang notwendig

Haben Sie sich für das automatisierte Testen entschieden, können wir Ihnen nachfolgend Software vorstellen, die Sie für den Testentwurf und zur Testdurchführung nutzen können. Der Markt für Software zum automatisierten E2E-Testen ist riesig und jeder Anbieter hat Vor- und Nachteile. Da auch das IQB automatisierte Testungen einsetzt, können wir an dieser Stelle nur unsere persönlichen Erfahrungen einbringen und Empfehlungen abgeben. Letztlich müssen Sie entscheiden, welche Anwendung bei Ihnen zum Einsatz kommen soll. Das IQB empfiehlt an dieser Stelle entweder Selenium oder Cypress zu verwenden. Im folgenden Abschnitt werden die beiden Anwendungen einmal näher vorgestellt.

✔️ Selenium

Selenium ist ein alter Hase in der Softwaretestung. Hier gibt es unzählige Foren, Tutorials etc.. Selenium führt Testungen mittels einer speziellen Browserschnittstelle gegen den Browser durch. Selenium spricht hier von einem Treiber. Es ist dann als würde eine Person vor dem Browser sitzen und die Testungen durchführen. Der große Vorteil von Selenium ist, dass es sowohl von techn. versierten als auch von techn. weniger versierten Anwender*innen angewendet werden kann. Hierfür wird Selenium in Module aufgeteilt angeboten:

  • Selenium IDE
  • Selenium Webdriver
  • Selenium Grid

Hier der Link zur Auswahlseite.

Interessant sind in diesem Fall die Module Selenium-IDE und Selenium-Webdriver.

Selenium-IDE

Alle Informationen zu Selenium-IDE finden Sie hier

Dieses Modul richtet sich an techn. weniger versierte Anwender*innen. Es handelt es sich um ein Plugin, welches dem Browser hinzugefügt wird. Mithilfe dieses Plugins können Testschritte aufgezeichnet werden. Dazu wird ein Rekorder verwendet, der jedes Event auf einer Website aufzeichnen und anschließend wieder abspielen kann. Ein auf diese Weise entworfener Testfall kann gespeichert werden und in einem anderen Browser mittels vorheriger Plugininstallation wieder abgespielt werden. Der Rekorder verwendet für die Aufzeichnung Selektoren und Befehle. Um Elemente, wie bspw. einen Button auf einer Seite zu finden, muss das entsprechende Element irgendwie selektiert werden. Anschließend kann auf dieses selektierte Element ein Befehl abgesetzt werden. Beispielsweise könnte ein Click auf diesen Button ausgeführt werden. Für techn. weniger versierte dürfte die Schwierigkeit darin bestehen diese Selektoren festzulegen. Dies ist aber nur eine Gewöhnung und geht mit der Zeit immer schneller von der Hand. Mehr zu den Selektoren finden Sie im Abschnitt Selektoren. Selenium unterstütz alle gängigen Selektoren wie bspw. CSS und X-Path.

Pro

  • relativ einfach für techn. weniger versierte Anwender*innen einzusetzen, Tests können mittels Rekorder einfach aufgezeichnet werden und in vielen Browsern abgespielt werden
  • mittels Rekorderaufzeichnungen entworfende Testfälle können in verschiedenen Programmiersprachen exportiert werden

Contra

  • Installation des Plugins könnte auf einigen Endgeräten kompliziert werden, bspw. Android-Browser oder auch Apple-Browser wie Safari
  • alle zu testenden Browser und entsprechende Endgeräte müssen physisch vorhanden sein, es kann nicht gegen emulierte Geräte getestet werden
  • keine gespeicherte Auswertung, es erfolgt nur zur Laufzeit eine Auswertung

Selenium-Webdriver

Die Selenium-Webdriver Dokumentation finden Sie hier.

Diese Modul ist ehr geeignet für Anwender*innen die techn. versiert sind und auch vor einer Programmiersprache nicht zurückschrecken. Folgende Programmiersprachen werden angeboten:

  • Java
  • Javascript
  • Ruby
  • C#
  • Python

Testfälle können dann in dieser Programmiersprache verfasst ausgeführt werden. Hierfür wird eine entsprechende Umgebung benötigt. Diese Umgebung hat das IQB in Form eines Repository bei GitHub bereits eingerichtet. Unter entsprechender Anleitung in diesem Repositiory können Sie diese Umgebung verwenden, um ihre Testfälle anzulegen und diese zu starten. Sie können mittels bestimmter Befehle die Testung gegen lokal installierte Browser und auch gegen emulierte Browser auf emulierten Geräten ausführen. Die verwendete Programmiersprache ist in diesem Fall Javascript. Um gegen emulierte Geräte testen zu können, wird die Plattform Browserstack verwendet.

Pro

  • Schnell und gute Übersichtlichkeit über die angelegten Testfälle
  • für allen möglichen Browser und Endgeräte geeignet
  • Endgeräte müssen nicht physisch vorhanden sein (testen gegen emulierte Geräte möglich)
  • wenn IQB Repository verwendet wird, ist das Anlegen von Testfällen relativ schnell vollzogen
  • Auswertungen werden detailliert gespeichert

Contra

  • bedingt techn. Kenntnisse in der Programmierung vorausgesetzt
  • es muss Zusatzsoftware (siehe README im entsprechenden Repository) auf dem Testrechner installiert werden
  • es wird ein Account bei Browserstack benötigt, wenn gegen emulierte Geräte getestet werden soll
  • Warten auf ein Ereignis muss eigenständig programmiert werden, das heißt jedes warten auf ein Ereignis muss eigenständig abgefangen werden
  • es muss ein Browser spezifischer Treiber in den Umgebungsvariablen des Testrechners eingetragen werden

ℹ️ Wie bereits unter Contra erwähnt müssen Wartebedingungen bei Selenium eigenständig angelegt werden. Wird bspw. ein Element abgefragt, welches nicht sofort sichtbar (Seite wird noch geladen etc.), muss an dieser Stelle im Testschritt expilizit gewartet werden. Es gibt auch die Möglichkeit implizite Wartezeiten zu implementieren. Diese werden dann für jeden Testschritt angewendet. Beides, sowohl explizites als auch implizites Warten haben Vor- und Nachteile mit denen man sich im Vorfeld befassen sollte. Wird an entsprechenden Stellen die Einrichtung solcher "Waits" vergessen, schlägt die Testung fehl, weil bspw. ein erwartetes Element nicht sofort gefunden wird. Mehr Informationen zum expliziten und impliziten Warten finden Sie hier zu finden.

Abschließend noch ein Bsp. wie ein einfacher Testfall in SE-Webdriver aussehen kann (Javascript):

//Testfall Beispiel
describe('Check Google', () => {

    //1.Testschritt: Prüfe ob Google geladen werden kann
    it('Öffne Google', () => {
        //Öffne Seite
        cy.visit(`www.google.com`);
        //Erwartungsauswertung: Konnte Seite gelade werden, 
        //dann sollte sie "Google" enthalten
        cy.contains('Google')
            .should('exist');
    });

    //2.Testschritt: Tue noch etwas auf der Google Seite
    it('Öffne Google', () => {
        
        //Tue etwas....
    });
});

✔️ Cypress

Die Cypress Dokumentation ist hier zu finden.

Cypress ist noch nicht so lange in der Welt des Testens unterwegs, wird aber aufgrund seiner Beliebtheit bereits großflächig eingesetzt. Cypress richtet sich eigentlich ehr an Entwickler*innen unterscheidet sich aber bzgl. benötigter Kompetenzen kaum von Selenium-Webdriver. Cypress arbeitet prinzipiell etwas anders als Selenium. Hier wird der programmierte Testcode direkt im Browser durchgeführt. Es wird also nicht wie bei Selenium ein entsprechender Treiber für den jeweiligen Browser benötigt. Es entsteht also keine zusätzliche Fehlerquelle (Flaschenhals) durch eine zusätzliche Schnittstelle (Treiber) zum Browser. Cypress unterstütz im Vergleich zu Selenium nicht alle Browser und Endgeräte. Es werden nur die folgenden Browser unterstützt:

  • Chrome und Browser die auf der Chrome Engine aufbauen
  • Edge
  • Firefox
  • Electron

ℹ️ Browser auf mobilen Endgeräten werden derzeitig nicht unterstützt!

Testfälle können in den Sprachen: Javascript und Typescript verfasst ausgeführt werden. Hierfür wird eine entsprechende Umgebung benötigt. Diese Umgebung hat das IQB in Form eines Repository bei GitHub bereits eingerichtet. Unter entsprechender Anleitung in diesem Repositiory können Sie diese Umgebung verwenden, um ihre Testfälle anzulegen und diese zu starten. Sie können mittels bestimmter Befehle die Testung gegen lokal installierte Browser und auch gegen emulierte Browser auf emulierten Geräten ausführen. Die verwendete Programmiersprache ist in diesem Fall Javascript. Um gegen emulierte Geräte testen zu können, wird die Plattform Browserstack verwendet.

Pro

  • Schnell und gute Übersichtlichkeit über die angelegten Testfälle
  • Endgeräte müssen nicht physisch vorhanden sein (testen gegen emulierte Geräte möglich)
  • wenn IQB Repository verwendet wird, ist das Anlegen von Testfällen relativ schnell vollzogen
  • Auswertungen werden detailliert gespeichert
  • warten auf Ereignis muss nicht eigenständig programmiert werden wie bei Selenium

Contra

  • bedingt techn. Kenntnisse in der Programmierung vorausgesetzt
  • es muss Zusatzsoftware (siehe README im entsprechenden Repository) auf dem Testrechner installiert werden
  • es wird ein Account bei Browserstack benötigt, wenn gegen emulierte Geräte getestet werden soll
  • es werden nicht alle Endgeräte und Browser unterstützt, auch nicht mittels Browserstack

Abschließend ein Beispiel wie ein Testfall mit Cypress aussieht (Javascript):

PictureLoad: Beispiel Cypress

✔️ Fazit: Cypress oder Selenium

Für welche Software Sie sich entscheiden, hängt nun maßgeblich davon ab mit welchen Endgeräten und Browsern Sie testen wollen. Soll es nur Firefox, Chrome, Edge und Electron auf den Betriebssystemen Windows oder Linux sein, würden wir Cypress empfehlen. Cypress ist übersichtlicher, es müssen keine Wartebedingungen programmiert werden und es wird kein zusätzlicher Treiber für den Browser benötigt. Müssen Sie gegen Browser auf mobilen Endgeräten testen, fällt Cypress aus der Auswahl. Ebenso verhält es sich bei Apples Safari-Browser. In diesen Fällen kommen Sie um Selenium nicht herum, auch wenn es etwas sperriger ist als Cypress.

✔️ Selektoren

Um ein Element auf einer Website zu lokalisieren, können sowohl bei Cypress als auch bei Selenium CSS-Selektoren oder XPath-Selektoren verwendet werden. Richtig gewählte Selektoren bestimmen wie schnell und zuverlässig ein Element bei einer Testung gefunden wird. Damit es Ihnen möglich ist, den richtigen Selektor hinsichtlich Schnelligkeit und Zuverlässigkeit zu finden, soll an dieser Stelle der Unterschied zwischen den beiden Selektoren aufgezeigt werden.

CSS-Selektor

Eine Website besteht aus unterschiedlichen HTML-Elementen wie bspw. Textfeldern, Eingabefeldern, aber auch Bereichen und vielen weiteren. Um Einfluss auf das Layout dieser Elemente zu nehmen, kommt die Gestaltungs- und Formatierungssprache CSS (Cascading Stytle Sheet) zum Einsatz. Ein CSS-Layout wird auf ein HTML-Element mittels eines Selektors angewendet. Über diesen Selektor erfolgt eine eindeutige Zuweisung des Layouts zu einem bestimmten Html-Element. Dabei kann der CSS-Selektor das Html-Element auf viele unterschiedliche Arten selektieren. Es gibt Typen-, Klassen-, ID-, Attribut-Selektoren und einige weitere. Da der Programmcode der Anwendung Testscenter Änderungen unterliegt (Fehlerbehebung, Layoutänderungen, Neuerungen etc.), müssen die Selektoren auch nach diesen Änderungen noch zuverlässig arbeiten. Wird ein ungünstiger CSS-Selektor gewählt, kann es passieren, dass dieser Selektor bspw. nach einer programmseitigen Layoutänderung nicht mehr funktioniert. Dann muss mühselig der Testcode angepasst werden, um Testabbrüche zu vermeiden. Nachfolgend sind daher einmal die zu bevorzugenden Selektoren aufgezählt:

  1. Data: Dieses Attribut ist speziell für Javascript konzipiert. Bspw. können über dieses Attribut Eventlistener auf das Html-Element zugreifen. Wenn ein solches Attribut in einem zu selektierendem Element angelegt ist, sollte dieses bevorzugt zum Einsatz kommen. In der Anwendung Testcenter trägt das Data-Attribut den Namen data-cy und einen entsprechenden Wert dahinter.
    ℹ️ Derzeitig sind in der Anwendung noch nicht alle Elemente mit diesem Attribut versehen. Wenn dieses Attribut nicht vorhanden ist, müssen Sie nach hier genannten Alternativen suchen.

  2. ID: Dieses Attribut kennzeichnet ein Html-Element eindeutig, denn der verwendete Wert (String) für ID darf nicht mehrmals in einem Html-Dokument vorkommen. Wenn ein Element das Attribut: ID aufweist und kein Data-Attribut vorhanden ist, sollte ID zum selektieren verwendet werden.

  3. CSS-Pfad: Sind die beiden oben genannten Attribute für ein Element nicht angelegt, können Sie versuchen das Element mit dem gesamten CSS-Pfad zu einem Element zu selektieren. Dazu ist die Browser Entwicklerkonsole, wie weiter unten beschrieben, zu verwenden.

XPath-Selektoren

XPath stellt eine andere Möglichkeit der Selektierung von Html-Elementen dar. Jede Html-Seite wird vom Browser mittels eines Parsers in eine spezielle Baumstruktur überführt. Diese Baumstruktur nennt sich DOM (Document Object Model). Mittels dieser Struktur kann bspw. Javascript auf einzelne Elemente zugreifen. Mit Hilfe von XPath können einzelne Elemente im DOM selektiert werden. In einer Baumstruktur gibt es Eltern und Kinderlemente, also Elemente die von anderen Elementen abhängen. Um eine Element mittels XPath zu selektieren, müssen diese Abhängigkeiten einbezogen werden. Befindet sich ein Element in tieferen DOM-Ebenen, nimmt die Suche längere Zeit in Anspruch. Außerdem ist XPath gegenüber Änderungen am DOM empfindlich. Ändert sich bspw. ein Elternelement, kann eventuell das in einer Testung verwendete Kinderelement nicht mehr gefunden werden. Nach jeder Änderungen in der Programmierung (neues Release) kann es also passieren, dass XPath-Selektoren im Testcode angepasst werden müssen.

ℹ️ XPath-Selektoren sollten nur zum Einsatz kommen, wenn keine geeigneten CSS-Selektoren gefunden werden!

Auffinden von Selektoren

Um den geeigneten Selektoren zu finden, sollte die Browser Entwicklerkonsole verwendet werden. In den Browsern Firefox, Chrome und Edge wird die Konsole mittels der Taste F12 aufgerufen. Die Konsole bietet sehr viele unterschiedliche Funktionen. Nachfolgend ist zu sehen, wie die Konsole zum Auffinden von Selektoren nach Betätigung von F12 verwendet wird.

PictureLoad: Browser Konsole

Den angezeigten Informationen können wir nun die entsprechenden Attribute wie bspw. ID oder Data entnehmen und als CSS-Selektor in unserem Test verwenden. Dieses Element weist bspw. ein Data-Attribut auf. Dieses könnte nun direkt im Test verwendet werden.

PictureLoad: Browser Konsole Informationen

Sollten Sie kein geeignetes Attribut finden können, klicken sie mit der rechten MT auf die markierten Informationen und anschließend auf "Kopieren". Es öffnet sich eine weitere Auswahl.

ℹ️ Die nachfolgenden Methoden zur Selektorfindung sollten nur angewendet werden, wenn kein ID- und kein Data-Attribut vorhanden ist.

PictureLoad: Browser Konsole Copy Informationen

Die folgenden Kopieroptionen sind entscheidend und werden nachfolgend näher beschrieben:

  • CSS-Selektor: Kopiert den günstigsten CSS-Selektor in die Zwischenablage. Würde sich hier bspw. ein ID-Attribut befinden, würde diese entsprechend kopiert.
  • CSS-Pfad: Sollte ein kopierter CSS-Selektor nicht zuverlässig funktionieren, ist es möglich den kompletten CSS-Pfad in die Zwischenablage zu kopieren.
  • XPATH: Kopiert den XPath in die Zwischenablage. Xpath sollte nur verwendet werden, wenn die vorherigen CSS-Kopieroptionen keinen Erfolg bringen.
Clone this wiki locally