conjunto de pruebas python – webdriver

Soy nuevo en Python y estoy tratando de crear mi propio conjunto de pruebas.

El propósito principal es ejecutar la misma prueba en un navegador diferente, es por eso que utilicé el navegador de variables, que se usa dentro de la prueba para llamar al controlador web.

Tengo esto:

def test_01 (auto, navegador):

def test_02 (auto, navegador):

mi suite:

def suite(): test_suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(Test01)) return test_suite 

principal:

  if __name__ == "__main__": suite1 = unittest.TestSuite() self = Test01() suite1.addTest(Test01.test_01(self, 'firefox')) suite1.addTest(Test01.test_02(self, 'firefox')) unittest.TextTestRunner(verbosity=2).run(suite()) 

Cuando bash ejecutar ese script, la primera prueba se ejecuta, la segunda no, y obtuve el siguiente error:

Seguimiento (última llamada más reciente): archivo “SuiteWebMail.py”, línea 138, en suite1.addTest (Test01.test_01 (self, ‘firefox’)) Archivo “c: \ Python34 \ lib \ unittest \ suite.py”, línea 50, en addTest raise TypeError (“{} no es invocable” .format (repr (test))) TypeError: Ninguno no es invocable

Gracias de antemano

do

tal vez no sea una forma pythonica, pero encontré una solución:

 class Test01(unittest.TestCase): def test_login(self): self.page = "https://myWebPageAddress" self.username = "userName" self.password = "Password" self.browser_label = ['firefox', 'chrome', 'ie'] for index in range(len(self.browser_label)): self.browser_name = self.browser_label[index] if self.browser_name == 'firefox': logger.debug("Opening [" + self.browser_name + "] ...") self.driver = webdriver.Firefox() if self.browser_name == 'chrome': logger.debug("Opening [" + self.browser_name + "] ...") self.driver = webdriver.Chrome() if self.browser_name == 'ie': logger.debug("Opening [" + self.browser_name + "] ...") self.driver = webdriver.Ie() try: logger.info("Test_01::Case_01::Login OK") Test01.case_01(self) except BaseException as e: logger.fatal(e.value) logger.info("End") self.driver.close() def case_01(self): .... .... 

Espero que eso pueda ser de ayuda para alguien.