Ich möchte die gleiche Browsersitzung für mehrere Tests innerhalb der gleichen Testdatei verwenden können.Verwenden Sie die gleiche Browsersitzung für mehrere Tests mit Selenium Pytest
Ich habe eine Klasse für die Anmeldung ein:
class Loginpage():
url="http://appsv01:8084/#/"
def __init__(self, workbook):
self.workbook=workbook
def login(self,value_Name,worksheet):
#Open a new mymobile suite window in Chrome and maximize
driver = webdriver.Chrome('C:/temp/chromedriver.exe')
driver.get("http://appsv01:8084")
driver.maximize_window()
Ich habe die Browser-Sitzung wurde geschlossen und dann eine neue pro Test zu öffnen, aber ich versuchte, es so zu ändern, dass die Struktur aussieht (in der Datei mit dem Namen test_mytests.py):
#open the browser and log in
mylogin=Loginpage('C:\Automation\Common_Objects.xlsx')
driver=mylogin.login("AutoSMS", "Users")
#perform the first test
def test_one():
task1
task2
#perform the second test
def test_two():
task3
task4
Dieser schlägt mit dem Fehler:
E ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Wenn Ich lege den Code für #open den Browser unter jeden Test einzeln, dann klappt alles einwandfrei. Ist es möglich, den Browser nur einmal zu öffnen und alle Tests in der Datei in derselben Browsersitzung auszuführen?
Ich bin schon den Treiber (sorry, ich hätte in meinem ursprünglichen Beitrag enthalten, dass): Klasse Anmeldeseite(): url = "http: // appsv01: 8084/# /" def __init __ (self, Arbeitsmappe): self.workbook = Arbeitsmappe def Login (self, value_name, Arbeitsblatt): #Entfernen ein neues Fenster in Chrome und maximiere driver = webdriver.Chrome ('C:/temp/ch romedriver.exe ') driver.get ("http: // appsv01: 8084") driver.maximize_window() def test_one: myLogin = Anmeldeseite (' C: \ Automation \ Common_Objects.xlsx ') driver = mylogin.login ("AutoSMS", "Benutzer") – ChrisG29