Ich bin eine komplette Neuentwicklung von Python und Selen, bitte entschuldigen Sie das Design der Lösung.Wiederverwendung von "driver.webdriver" in einer Klasse
Ich habe mich viel umgesehen, aber ich kann nicht die Antwort finden, die ich brauche.
Ich versuche, eine Klasse namens "Navigatoren" zu erstellen, die ich verwenden kann, um einfach um ein System zu navigieren.
Die Idee wäre, dass ich eine Funktion aus der Klasse aufrufen kann, die mich dann zu dem Fenster führen wird, an dem ich arbeiten möchte.
Das Problem, das ich mit Blick auf bin mit der Treibervariable
driver = webdriver.Chrome('C:/temp/chromedriver.exe')
Jedes Mal, wenn ich die Variable verwenden, ist es eine neue Chrome browser
öffnet.
Gibt es eine Möglichkeit für mich, die Variable zu verwenden, ohne einen neuen Browser zu öffnen? Ich möchte, dass meine Funktion Folgendes ausführt:
Users = driver.find_element_by_link_text("Users")
Users.click()
Ich denke, das ein bisschen mehr Kontext erfordert. Wie führen Sie Ihre Tests durch? Verwenden Sie ein Framework? Wenn dies der Fall ist, wird es wahrscheinlich eine Vorher-Methode geben, mit der Sie eine Instanz für Ihren Treiber erstellen können. – RemcoW
Haben Sie auch das Entwurfsmuster für Seitenobjekte untersucht? Es erstellt ein Objekt für die Seiten in Ihrer Anwendung. Auf dieser Seite können Sie eine .navigate() -Methode erstellen. Die Art und Weise, wie ich es gemacht habe, bestand darin, eine BasePage zu erstellen, die meine anderen PageObjects überschreiben, also habe ich nur eine einzige Implementierung von .navigate(), die eine URL verwendet, die ich im Konstruktor des Page Object gesetzt habe. (Ich bin mir nicht sicher, dass es das ist, was du versuchst zu erreichen) – RemcoW