2017-03-17 13 views
0

Ich versuche, eine Klasse mit mehreren Definitionen zu erstellen, aber wenn ich die Klasse ausgeführt wird es nur die erste def ausgeführt wird, die ich geschrieben habe, und nicht den zweiten, Codebeispiel unten (Konstrukteuren?):Wie kann ich mehrere Definitionen unter einer einzigen Klasse ausführen?

class Test(baseline): 

def test_1(self): 
    global caseid 
    caseid = xxx 
    global resultfail 
    resultfail = "Test Failed." 
    self.driver.get(self.base_url) 
    self.login() 
    print('Test 1') 
    self.Test1TestCase() 

def test_2(self): 
    self.driver.get(self.base_url) 
    self.login() 
    print('Test 2') 
    self.Test2TestCase() 

Könnte jemand bitte mitteilen, welche Änderungen ich vornehmen muss, damit die Klasse beide Definitionen ausführt? Oder wenn das in einer Klasse überhaupt möglich ist? Prost.

+0

Was meinst du mit "beide Definitionen ausführen"? Ihr Code ruft keine der von Ihnen definierten Funktionen auf. – BrenBarn

+0

was meinst du "wenn ich die Klasse führe"? Wie genau benutzen Sie diesen Kurs? Wenn du "Definition" sagst, meinst du Methode? Haben Sie versucht, ein 'Test'-Objekt zu instanziieren und die Methoden aufzurufen? –

Antwort

0

In Ihrer Klasse Test gehe ich davon aus, dass baseline eine Superklasse ist, da Sie die Klasse Test damit definieren.

Sie haben keinen Konstruktor erstellt, der beim Erstellen von Klasseninstanzen hilft.

class Test(baseline): 

    def __init__(self): 
     #initialize something 

Als nächstes müssen Sie Test Klasse innerhalb main (außerhalb Klasse)

sampleTest = Test() #instance of Test 

Dann können Sie "Methoden" nennen rufen und instanziiert (Funktionen) innerhalb der Klasse Test wie

sampleTest.test_1() 
sampleTest.test_2() 

Hoffe, das ist, was Sie suchen.

Verwandte Themen