Utilizzo il selenio per test end-to-end e non riesco a ottenere l'utilizzo dei metodi setup_class
e teardown_class
.Come faccio ad impostare e rimuovere correttamente la mia classe pytest con i test?
Devo impostare il browser nel metodo setup_class
, quindi eseguire una serie di test definiti come metodi di classe e, infine, chiudere il browser nel metodo teardown_clas
s.
Ma logicamente sembra una soluzione sbagliata, perché in effetti i miei test non funzioneranno con la classe, ma con l'oggetto. Passo self
param all'interno di ogni metodo di prova, in modo da poter accedere a Vars degli oggetti:
class TestClass:
def setup_class(cls):
pass
def test_buttons(self, data):
# self.$attribute can be used, but not cls.$attribute?
pass
def test_buttons2(self, data):
# self.$attribute can be used, but not cls.$attribute?
pass
def teardown_class(cls):
pass
E ancora sembra non essere corretto per creare l'istanza del browser per la classe .. E dovrebbe essere creato per ogni oggetto a parte, a destra ?
Quindi, devo utilizzare i metodi __init__
e __del__
anziché setup_class
e teardown_class
?
+1 questo mi ha sempre infastidito. Perché non ci sono i metodi setup_instance (self) e teardown_instance (self)? (o forse setup/teardown_object?) Non sarebbe più corretto OO? – cbare