2017-03-17 4 views
0

Je suis en train de créer une classe avec plusieurs définitions, mais quand je lance la classe, il ne fonctionne que la première définition que je l'ai écrit et non le second, exemple de code ci-dessous (les constructeurs?):Comment puis-je exécuter plusieurs définitions sous une seule classe?

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() 

Quelqu'un pourrait-il me dire quels changements je dois faire pour que la classe utilise les deux définitions? Ou si c'est même possible sous une seule classe? À votre santé.

+0

Que voulez-vous dire "exécuter les deux définitions"? Votre code n'appelle aucune des fonctions que vous avez définies. – BrenBarn

+0

que voulez-vous dire "quand je cours en classe"? Comment utilisez-vous exactement cette classe? Quand vous dites "définition", voulez-vous dire méthode? Avez-vous essayé d'instancier un objet 'Test' et d'appeler les méthodes? –

Répondre

0

Dans votre classe Test, je suppose que baseline est une super-classe puisque vous définissez la classe Test avec elle.

Vous n'avez pas créé de constructeur qui aidera les instances de classe à s'établir.

class Test(baseline): 

    def __init__(self): 
     #initialize something 

Ensuite, vous devez appeler et instancier Test classe dans le principal (classe dehors)

sampleTest = Test() #instance of Test 

vous pouvez appeler les "méthodes" (fonctions) au sein de la classe Test comme,

sampleTest.test_1() 
sampleTest.test_2() 

J'espère que c'est ce que vous cherchez.