Webdriver für Chrome

  • Danke dir Marcel, dies ist verständlich 👌 .

    Allerdings hört sich das so an, als wären die Credentials von findigen Mitarbeitern ggf. einsehbar. Der/die HTTP-Requests, auch die des WebDrivers (Chromedriver) sind ja nicht verschlüsselt und könnten mit etwas Energie beobachtet/herausgefischt werden. Klar, ein sehr skizziertes Szenario was vielleicht nicht relevant ist. Ich wollte es dennoch mal erwähnen 😅 .

    Viele Grüße
    Sven

  • Hallo Sven,

    habe mir mal dein Boilerplate Tutorial angesehen und auch Abonniert :)

    Was mir in der Struktur nicht gefällt, dass alle selector und page-objects in der Ebene 1 liegen. Schon bei einigen Websites wird es meiner Meinung nach unübersichtlich, wenn alles im Hauptpfad liegt.

    Ich stelle mir die Aufteilung eher so vor. Hat das irgendwelche Nachteile gegenüber deiner Aufteilung? Was meinst du dazu?


    Viele Grüße

    Marcel

  • Hi Marcel 👋 ,

    ich hoffe wir langweilen mittlerweile hier niemand mit unserem Austausch. Falls doch, dann darf gern durch eine Moderator, Poweruser etc. darauf hingewiesen werden. Denn dann schlage ich vor, dass wir einen separaten Thread rund um die Arbeit mit WebDriver öffnen oder so.

    Falls sich niemand daran hier stört, mache ich einfach weiter 😅 .

    ------------------------

    Nun also zur Antwort:

    habe mir mal dein Boilerplate Tutorial angesehen und auch Abonniert :)

    Freut mich das du dir es angesehen hast, Danke auch fürs Abo 👌 .
    PS.: Ein GitHub-Star würde mich noch viel mehr freuen 😅 .

    Was mir in der Struktur nicht gefällt, dass alle selector und page-objects in der Ebene 1 liegen. Schon bei einigen Websites wird es meiner Meinung nach unübersichtlich, wenn alles im Hauptpfad liegt.

    Wie du dein Projekt strukturierst ist ganz dir überlassen. Das boilerplate template repository ist für die Browser Automation einer Website aufgebaut, daher gibt es keine Aufteilung nach Webseiten oder so.

    Ich stelle mir die Aufteilung eher so vor. Hat das irgendwelche Nachteile gegenüber deiner Aufteilung? Was meinst du dazu?

    Das kannst du auf jeden Fall so machen ohne starke Nachteile zu haben. Musst dann einfach nur die #includes entsprechend einmalig anpassen, ansonsten geht auch dies.

    Empfehlung:
    Ich rate allerdings davon ab mehrere Projekte, respektive Webseiten, in einem Repository/Projekt abzubilden. Zumindest wenn es um diverse Test Automation Schritte geht, die pro Webseite dann auch abgebildet werden sollen. Mit anderen Worten, wenn es umfangreich werden wird, dann rate ich davon ab und rate zu einzelnen Projekten. Üblicherweise würde man, so machen es viele Hersteller/Communities (wie Selenium, WebdriverIO, Nightwatch, Playwright etc.) vor, pro Website ein Projekt (ein Repo.) aufbauen. Damit du dennoch Redundanzen zwischen den Projekten vermeidest, würde dann bspw. mit Git Submodules gearbeitet. Aber auch dies ist kein Muss.

    Zusammenfassend:
    Du kannst wenn die Schritte ggf. nicht zu umfangreich sind, deine vorgeschlagene Struktur nutzen.
    Könnte dann wohl etwa so aussehen.



    Du kannst auch per Browser-Tab eine Website bearbeiten/automatisieren, also drei auf einmal (in jeweils einem Tab).
    Du kannst auch drei Driver-Instanzen laufen lassen und jeweils dort die Schritte automatisieren. Dies ist allerdings recht aufwändig, zugegebenermaßen.

    Also ich würde es abhängig vom Umfang machen und entscheiden. So wie du bisher beschrieben hast, was getan wird, finde ich deinen Ansatz pro Webseite legitim und sogar sinnvoll 😀 . Wenn es wächst wirst du dann ja merken ob es umstrukturiert werden sollte oder nicht.

    Viele Grüße
    Sven