
Ich versuche, automatisierte Tests zu schreiben, die mit Selenium und den entsprechenden Treibern auf Chrome, Edge und Firefox funktionieren. Wenn ich die Tests jedoch auf Firefox ausführe, öffnet das neue Browserfenster die gewünschte Seite und dann einBitwarden-Seitein einem separaten Tab. Das Öffnen dieses separaten Tabs scheint die Ausführung meines Tests zu beeinflussen. Weiß jemand, wie man das Öffnen verhindern kann?
Was ich versucht habe:
- Habe die Erweiterung aus dem Standalone-Browser deinstalliert, aber sie würde trotzdem in der automatisierten Instanz wieder erscheinen. Meine IT-Abteilung sagte, sie hätten ein System entwickelt, um sicherzustellen, dass sie installiert bleibt. Wie kann ich verhindern, dass sich dieser Tab öffnet?
- Habe die Datei addons.json aus beiden lokal gespeicherten Profilen gelöscht. Was ich vermeiden möchte:
- Bei meinem Test wird diese Registerkarte bei jedem Ausführen verlassen.
- Mit der Registrierung herumspielen. Ich möchte es irgendwie vermeiden, die IT zu verärgern, wenn ich kann.
Weiß jemand, wie man das behebt?
Antwort1
Ich bin zu einer Lösung gekommen. Zwischen dem Öffnen des Browsertreibers und dem Testen habe ich den folgenden Code (Python) eingefügt, um die aktuell fokussierte Registerkarte auf die richtige Registerkarte umzuschalten:
windows = self.driver.window_handles
if (len(windows) > 1):
self.driver.switch_to.window(windows[0])
Wenn die Länge der Tab-Liste größer als 1 ist, ist der Bitwarden-Tab geöffnet und ich wechsle zum ersten Tab, dem Ziel-Tab, auf dem ich testen möchte. Das behebt zwar nicht wirklich die Ursache des Problems (das ist keine wirklich einfache Lösung), aber es bringt den Fokus auf den richtigen Tab zurück, sodass es in Firefox keine tabbezogenen Fehler mehr gibt.