tag switch_to select_by_value name instalar from como python selenium webdriver screenshot

select_by_value - switch_to selenium python



Capturas de pantalla automáticas cuando la prueba falla por Selenium Webdriver en Python (3)

Quiero capturar capturas de pantalla automáticamente si mis pruebas de disco web fallaron (cualquier excepción o error de aserción). Estoy usando Python unittest y Selenium Webdriver. ¿Alguien tiene alguna solución a este problema?


Para mí ayuda esta solución:

def teardown_method(self, method): """Driver elimination""" if sys.exc_info(): allure.attach(''screenshot'', self.driver.get_screenshot_as_png(), type=AttachmentType.PNG) self.driver.quit() pass


hacer algunas cosas de disco web en Firefox ... guardar captura de pantalla en cualquier excepción a un archivo de imagen con fecha:

from datetime import datetime from selenium import webdriver browser = webdriver.Firefox() try: # do some webdriver stuff here except Exception as e: print e now = datetime.now().strftime(''%Y-%m-%d_%H-%M-%S'') browser.get_screenshot_as_file(''screenshot-%s.png'' % now)


Otro método sería agregar lo siguiente a su método tearDown :

if sys.exc_info()[0]: test_method_name = self._testMethodName self.driver.save_screenshot("Screenshots/%s.png" % test_method_name)

Esto supondría una clase de prueba como esta:

class SeleniumTest(unittest2.TestCase): ... def tearDown(self): if sys.exc_info()[0]: test_method_name = self._testMethodName self.driver.save_screenshot("Screenshots/%s.png" % test_method_name) super(SeleniumTest, self).tearDown() def test_1(self): ... def test_2(self): ...