def _open_base(self): if self.configure.is_disabled: logger.debug("open_base(): ignored (disabled)") return logger.open_() self._log_open_base() retry = 0 while retry < self._MAX_ITERATIONS: try: self._validate_session_open() self._init_providers() self._is_viewport_size_set = False self._before_open() try: if self.configure.viewport_size: self._ensure_running_session() except Exception as e: logger.exception(e) retry += 1 continue self._is_opened = True self._after_open() return None except EyesError as e: logger.exception(e) logger.close() raise e raise EyesError("eyes.open_base() failed")
def abort(self): # type: () -> Optional[TestResults] """ If a test is running, aborts it. Otherwise, does nothing. """ if self.configure.is_disabled: logger.debug("abort(): ignored (disabled)") return try: self._reset_last_screenshot() if self._running_session: results_url = self._running_session.url logger.debug("abort(): Aborting session...") try: logger.info( "--- Test aborted. \n\tSee details at {}".format( results_url)) results = self._server_connector.stop_session( self._running_session, True, False) results.url = results_url return results except EyesError as e: logger.info("Failed to abort server session: %s " % e) pass finally: self._running_session = None finally: logger.close()
def abort(self): # type: () -> None """ If a test is running, aborts it. Otherwise, does nothing. """ if self.configuration.is_disabled: logger.debug("abort(): ignored (disabled)") return try: self._reset_last_screenshot() if self._running_session: logger.debug("abort(): Aborting session...") try: self._server_connector.stop_session( self._running_session, True, False ) logger.info("--- Test aborted.") except EyesError as e: logger.info("Failed to abort server session: %s " % e) pass finally: self._running_session = None finally: logger.close()
def get_all_test_results(self, should_raise_exception=True): # type: (bool) -> TestResultsSummary logger.debug( "get_all_test_results({}) called".format(should_raise_exception)) summary = self._get_all_test_results_impl(should_raise_exception) logger.debug(str(summary)) logger.close() return summary
def manage_logging(enable_eyes_log=None, enable_http_debug_log=None): if enable_eyes_log is True: logger.set_logger(StdoutLogger()) logger.open_() elif enable_eyes_log is False: logger.close() logger.set_logger(None) if enable_http_debug_log is True: six.moves.http_client.HTTPConnection.debuglevel = 1 elif enable_http_debug_log is False: six.moves.http_client.HTTPConnection.debuglevel = 0
def close(self, raise_ex=True): # type: (bool) -> Optional[TestResults] """ Ends the test. :param raise_ex: If true, an exception will be raised for failed/new tests. :return: The test results. """ if self.configure.is_disabled: logger.debug("close(): ignored (disabled)") return None try: logger.debug("close({})".format(raise_ex)) if not self._is_opened: raise EyesError("Eyes not open") self._is_opened = False self._reset_last_screenshot() self._init_providers(hard_reset=True) # If there's no running session, we simply return the default test results. if not self._running_session: logger.debug("close(): Server session was not started") logger.info("close(): --- Empty test ended.") return TestResults() is_new_session = self._running_session.is_new_session results_url = self._running_session.url logger.info("close(): Ending server session...") should_save = (is_new_session and self.configure.save_new_tests) or ( (not is_new_session) and self.configure.save_failed_tests) logger.debug("close(): automatically save session? %s" % should_save) results = self._server_connector.stop_session( self._running_session, False, should_save) results.is_new = is_new_session results.url = results_url self.log_session_results_and_raise_exception(raise_ex, results) return results finally: self._running_session = None logger.close()