def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info('Settings:\n%s' % unic(settings)) builder = TestSuiteBuilder(settings['SuiteNames'], extension=settings.extension, rpa=settings.rpa, allow_empty_suite=settings.run_empty_suite) suite = builder.build(*datasources) settings.rpa = suite.rpa if settings.pre_run_modifiers: suite.visit(ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) suite.configure(**settings.suite_config) with pyloggingconf.robot_handler_enabled(settings.log_level): old_max_error_lines = text.MAX_ERROR_LINES text.MAX_ERROR_LINES = settings.max_error_lines try: result = suite.run(settings) finally: text.MAX_ERROR_LINES = old_max_error_lines LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) if settings['Critical'] or settings['NonCritical']: LOGGER.warn("Command line options --critical and --noncritical have been " "deprecated. Use --skiponfailure instead.") if settings['XUnitSkipNonCritical']: LOGGER.warn("Command line option --xunitskipnoncritical has been " "deprecated and has no effect.") LOGGER.info('Settings:\n%s' % unic(settings)) builder = TestSuiteBuilder(settings['SuiteNames'], included_extensions=settings.extension, rpa=settings.rpa, allow_empty_suite=settings.run_empty_suite) suite = builder.build(*datasources) settings.rpa = suite.rpa if settings.pre_run_modifiers: suite.visit(ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) suite.configure(**settings.suite_config) with pyloggingconf.robot_handler_enabled(settings.log_level): old_max_error_lines = text.MAX_ERROR_LINES text.MAX_ERROR_LINES = settings.max_error_lines try: result = suite.run(settings) finally: text.MAX_ERROR_LINES = old_max_error_lines LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info('Settings:\n%s' % unic(settings)) builder = TestSuiteBuilder(settings['SuiteNames'], extension=settings.extension, rpa=settings.rpa) suite = builder.build(*datasources) settings.rpa = builder.rpa suite.configure(**settings.suite_config) if settings.pre_run_modifiers: suite.visit(ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) with pyloggingconf.robot_handler_enabled(settings.log_level): old_max_error_lines = text.MAX_ERROR_LINES text.MAX_ERROR_LINES = settings.max_error_lines try: result = suite.run(settings) finally: text.MAX_ERROR_LINES = old_max_error_lines LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info('Settings:\n%s' % unic(settings)) if settings['WarnOnSkipped'] is not None: LOGGER.error("Option '--warnonskippedfiles is deprecated and " "has no effect.") builder = TestSuiteBuilder(settings['SuiteNames'], extension=settings.extension, rpa=settings.rpa) suite = builder.build(*datasources) settings.rpa = builder.rpa suite.configure(**settings.suite_config) if settings.pre_run_modifiers: suite.visit( ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) with pyloggingconf.robot_handler_enabled(settings.log_level): result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter( settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info("Settings:\n%s" % unic(settings)) suite = TestSuiteBuilder(settings["SuiteNames"], settings["WarnOnSkipped"]).build(*datasources) suite.configure(**settings.suite_config) if settings.pre_run_modifiers: suite.visit(ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) with pyloggingconf.robot_handler_enabled(settings.log_level): result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_logger_config) LOGGER.info('Settings:\n%s' % unicode(settings)) suite = TestSuiteBuilder(settings['SuiteNames'], settings['WarnOnSkipped'], settings['RunEmptySuite']).build(*datasources) suite.configure(**settings.suite_config) result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
class RobotFramework(Application): def __init__(self): self.logger1 = new_logger_for_thread() Application.__init__(self, USAGE, arg_limits=(1,), env_options='ROBOT_OPTIONS', logger=self.logger1) self.settings = None self.suite = None self.builder = None def main(self, datasources, **options): self.settings = RobotSettings(options) self.logger1.register_console_logger(**self.settings.console_output_config) self.logger1.info('Settings:\n%s' % unic(self.settings)) self.builder = TestSuiteBuilder(self.settings['SuiteNames'], included_extensions=self.settings.extension, rpa=self.settings.rpa, allow_empty_suite=self.settings.run_empty_suite) self.suite = self.builder.build(*datasources) self.settings.rpa = self.suite.rpa if self.settings.pre_run_modifiers: self.suite.visit(ModelModifier(self.settings.pre_run_modifiers, self.settings.run_empty_suite, self.logger1)) self.suite.configure(**self.settings.suite_config) with pyloggingconf.robot_handler_enabled(self.settings.log_level): old_max_error_lines = text.MAX_ERROR_LINES text.MAX_ERROR_LINES = self.settings.max_error_lines try: result = self.suite.run(self.settings) finally: text.MAX_ERROR_LINES = old_max_error_lines self.logger1.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if self.settings.log or self.settings.report or self.settings.xunit: writer = ResultWriter(self.settings.output if self.settings.log else result) writer.write_results(self.settings.get_rebot_settings()) return result.return_code def validate(self, options, arguments): return self._filter_options_without_value(options), arguments def _filter_options_without_value(self, options): return dict((name, value) for name, value in options.items() if value not in (None, []))
def main(self, datasources, **options): settings = RobotSettings(options) LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info('Settings:\n%s' % unicode(settings)) suite = TestSuiteBuilder(settings['SuiteNames'], settings['WarnOnSkipped']).build(*datasources) suite.configure(**settings.suite_config) if settings.pre_run_modifiers: suite.visit(ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) with pyloggingconf.robot_handler_enabled(settings.log_level): result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def _runTest(self, parsed, **options): settings = RobotSettings(options) LOGGER.register_console_logger(width=settings['MonitorWidth'], colors=settings['MonitorColors'], markers=settings['MonitorMarkers'], stdout=settings['StdOut'], stderr=settings['StdErr']) LOGGER.info('Settings:\n%s' % six.text_type(settings)) suite = TestSuiteBuilder( settings['SuiteNames'], settings['WarnOnSkipped'], settings['RunEmptySuite'])._build_suite(parsed) suite.configure(**settings.suite_config) result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.statistics.message) rc = result.return_code if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return rc
def main(self, datasources, **options): try: settings = RobotSettings(options) except: LOGGER.register_console_logger(stdout=options.get('stdout'), stderr=options.get('stderr')) raise LOGGER.register_console_logger(**settings.console_output_config) LOGGER.info(f'Settings:\n{settings}') if settings.pythonpath: sys.path = settings.pythonpath + sys.path builder = TestSuiteBuilder(settings.suite_names, included_extensions=settings.extension, rpa=settings.rpa, lang=settings.languages, allow_empty_suite=settings.run_empty_suite) suite = builder.build(*datasources) settings.rpa = suite.rpa if settings.pre_run_modifiers: suite.visit( ModelModifier(settings.pre_run_modifiers, settings.run_empty_suite, LOGGER)) suite.configure(**settings.suite_config) with pyloggingconf.robot_handler_enabled(settings.log_level): old_max_error_lines = text.MAX_ERROR_LINES old_max_assign_length = text.MAX_ASSIGN_LENGTH text.MAX_ERROR_LINES = settings.max_error_lines text.MAX_ASSIGN_LENGTH = settings.max_assign_length try: result = suite.run(settings) finally: text.MAX_ERROR_LINES = old_max_error_lines text.MAX_ASSIGN_LENGTH = old_max_assign_length LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.stat_message) if settings.log or settings.report or settings.xunit: writer = ResultWriter( settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return result.return_code
def _runTest(self, parsed, **options): settings = RobotSettings(options) output_config = getattr(settings, 'console_output_config', { 'width': getattr(settings, 'console_width', 78), 'colors': getattr(settings, 'console_colors', 'AUTO'), 'markers': getattr(settings, 'console_markers', 'AUTO'), 'stdout': settings['StdOut'], 'stderr': settings['StdErr'] }) LOGGER.register_console_logger(**output_config) LOGGER.info('Settings:\n%s' % six.text_type(settings)) suite = TestSuiteBuilder( settings['SuiteNames'], settings['WarnOnSkipped'])._build_suite(parsed) suite.configure(**settings.suite_config) result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.statistics.message) rc = result.return_code if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return rc
def _runTest(self, parsed, **options): settings = RobotSettings(options) output_config = getattr( settings, 'console_output_config', { 'width': getattr(settings, 'console_width', 78), 'colors': getattr(settings, 'console_colors', 'AUTO'), 'markers': getattr(settings, 'console_markers', 'AUTO'), 'stdout': settings['StdOut'], 'stderr': settings['StdErr'] }) LOGGER.register_console_logger(**output_config) LOGGER.info('Settings:\n%s' % six.text_type(settings)) suite = TestSuiteBuilder( settings['SuiteNames'], settings['WarnOnSkipped'])._build_suite(parsed) suite.configure(**settings.suite_config) result = suite.run(settings) LOGGER.info("Tests execution ended. Statistics:\n%s" % result.suite.statistics.message) rc = result.return_code if settings.log or settings.report or settings.xunit: writer = ResultWriter(settings.output if settings.log else result) writer.write_results(settings.get_rebot_settings()) return rc