def setUp(request): W_driver = wdf.get_driver() driver = EventFiringWebDriver(W_driver, MyListeners()) if request.node is not None: request.node.driver = driver yield if request.node.rep_call.failed: allure.attach(driver.get_screenshot_as_png(), name=request.function.__name__, attachment_type=allure.attachment_type.PNG) driver.quit()
def start_browser(): configs = Properties() configs.load(open(os.path.join(PROJECT_ROOT, 'app.properties'), 'rb')) browser_name = configs.get("browser").data options = webdriver.ChromeOptions() options.add_argument('--no-sandbox') options.add_argument('--disable-gpu') options.add_argument('--window-size=1920,1080') options.add_argument('lang=ru') if browser_name == "chrome": driver = webdriver.Chrome( executable_path=CHROME_DRIVER_DICT[sys.platform], options=options) elif browser_name == "opera": driver = webdriver.Opera( executable_path=OPERA_DRIVER_DICT[sys.platform], options=options) driver.maximize_window() elif browser_name == "yandex": driver = webdriver.Opera( executable_path=YANDEX_DRIVER_DICT[sys.platform], options=options) driver.maximize_window() else: driver = webdriver.Chrome( executable_path=CHROME_DRIVER_DICT[sys.platform], options=options) listener = LoggedListener() driver = EventFiringWebDriver(driver=driver, event_listener=listener) yield driver if sys.exc_info(): allure.attach(body=driver.get_screenshot_as_png(), name='screenshot', attachment_type=AttachmentType.PNG) driver.quit()