2016-04-13 8 views
0

Ich teste gerade die Website, die ich mit Selen entwickeln. Das Einzige, was ich nicht herausfinden kann, ist, wie man eine Login-Instanz erstellt, so dass meine Test-Klassen nicht aufeinander aufbauen müssen.Login Instanz in der Setup-Methode von Selen

Weitere Erläuterungen:

class CreateListingTest(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.get("http://127.0.0.1:8000/") 
     *** create login instance here *** 

    def test_createListing(self): 
     driver = self.driver 
     *** continue with test method *** 

Die meisten Klassen Ich versuche, erfordern zu testen, ob ein Benutzer angemeldet werden muss, um den Test durchführen kann.

Antwort

1

Jede Instanz von Selenium ist unabhängig und beginnt mit einer sauberen Geschichte und ohne Cookie. Sie könnten einfach ein Login-Seite-Objekt implementieren:

class CreateListingTest(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     PageLogin(self.driver) \ 
      .visit() \ 
      .login(name, password) 

    def test_createListing(self): 
     driver = self.driver 
     *** continue with test method *** 

class PageLogin(object): 

    url = "http://127.0.0.1:8000/" 

    def __init__(self, driver): 
     self.driver = driver 

    def visit(self): 
     self.driver.get(self.url) 
     ... 
     return self 

    def login(self, name, password): 
     ... 
     return self 

    def logout(self): 
     ... 
     return self 
+0

Vielen Dank! –