Exemplo n.º 1
0
 def _combine_suite_xmls(self):
     result = Result()
     result.suite.name = self.name
     for result_path in self.result_paths:
         new_result = ExecutionResult(result_path)
         result.suite.suites.append(new_result.suite)
     result.save(path=path.join(self.config['outputdir'], 'output.xml'))
Exemplo n.º 2
0
    def _combine_all_devices(self):
        all_devices = Result()
        all_devices.suite.name = self.name

        for device_file in self.device_filenames:
            current_result = ExecutionResult(path.join(self.config['outputdir'], device_file))
            current_result.suite.name = device_file
            all_devices.suite.suites.append(current_result.suite)
        all_devices.save(path=path.join(self.config['outputdir'], 'devices.xml'))
Exemplo n.º 3
0
 def _gather_device_xmls(self):
     for device_file in self.device_filenames:
         device_result = Result()
         device_result.name = device_file.replace('.xml', '')
         for test_name in self.test_names:
             current_result_path = path.join(self.config['outputdir'], test_name, device_file)
             try:
                 current_result = ExecutionResult(current_result_path)
                 current_result.suite.name = test_name
                 device_result.suite.suites.append(current_result.suite)
             except Exception as e:
                 logger.error('unable to parse log file {}: {}'.format(current_result_path, e))
         device_result.save(path=path.join(self.config['outputdir'], device_file))
Exemplo n.º 4
0
    def _create_suite_xml(self, test_name):
        dir_path = path.join(self.config['outputdir'], test_name)
        result = Result()
        result.suite.name = test_name

        result_files = listdir(dir_path)
        result_files = [*filter(lambda result_file: result_file.endswith('.xml'), result_files)]
        result_files = [*map(lambda result_file: path.join(dir_path, result_file), result_files)]
        for result_file in result_files:
            try:
                new_result = ExecutionResult(result_file)
                result.suite.suites.append(new_result.suite)
            except Exception as e:
                logger.info('could not parse result file {}: {}'.format(result_file, e))
        result.save(path.join(self.config['outputdir'], test_name + '.xml'))
Exemplo n.º 5
0
    def save_intermediate_results(self):
        """Method creates intermediate robot result files during test execution

        :return:
        """
        xml_path, html_path, log_path = self.generate_output_file_names()
        execution_result = Result(root_suite=self.current_suite_result)
        ResultWriter(execution_result).write_results(
            output=xml_path, report=html_path, log=log_path
        )
 def _get_execution_result(self):
     suite = TestSuite(name=self.EXPECTED_SUITE_NAME)
     tc = suite.tests.create(name=self.EXPECTED_TEST_NAME, status='PASS')
     tc.keywords.create(kwname=self.EXPECTED_KEYWORD_NAME, status='PASS')
     tc = suite.tests.create(name=self.EXPECTED_FAILING_TEST)
     kw = tc.keywords.create(kwname=self.EXPECTED_KEYWORD_NAME)
     kw.messages.create(message=self.EXPECTED_DEBUG_MESSAGE,
                        level='DEBUG', timestamp='20201212 12:12:12.000')
     errors = ExecutionErrors()
     errors.messages.create(message=self.EXPECTED_ERROR_MESSAGE,
                            level='ERROR', timestamp='20201212 12:12:12.000')
     return Result(root_suite=suite, errors=errors)
Exemplo n.º 7
0
 def process_output(self, path):
     path = path.replace('/', os.sep)
     try:
         print "Processing output '%s'" % path
         result = Result(root_suite=NoSlotsTestSuite())
         ExecutionResultBuilder(path).build(result)
     except:
         raise RuntimeError('Processing output failed: %s' %
                            utils.get_error_message())
     setter = BuiltIn().set_suite_variable
     setter('$SUITE', process_suite(result.suite))
     setter('$STATISTICS', result.statistics)
     setter('$ERRORS', process_errors(result.errors))
Exemplo n.º 8
0
 def process_output(self, path):
     set_suite_variable = BuiltIn().set_suite_variable
     if not path or path.upper() == 'NONE':
         set_suite_variable('$SUITE', None)
         print "Not processing output."
         return
     path = path.replace('/', os.sep)
     try:
         print "Processing output '%s'." % path
         result = Result(root_suite=NoSlotsTestSuite())
         ExecutionResultBuilder(path).build(result)
     except:
         set_suite_variable('$SUITE', None)
         raise RuntimeError('Processing output failed: %s' %
                            utils.get_error_message())
     set_suite_variable('$SUITE', process_suite(result.suite))
     set_suite_variable('$STATISTICS', result.statistics)
     set_suite_variable('$ERRORS', process_errors(result.errors))