Best Python code snippet using unittest-xml-reporting_python
result.py
Source:result.py  
...297        for test in tests:298            # Merge the stdout from the tests in a class299            if test.stdout is not None:300                stdout.write(test.stdout)301        _XMLTestResult._createCDATAsections(302            xml_document, systemout, stdout.getvalue())303        systemerr = xml_document.createElement('system-err')304        testsuite.appendChild(systemerr)305        stderr = StringIO()306        for test in tests:307            # Merge the stderr from the tests in a class308            if test.stderr is not None:309                stderr.write(test.stderr)310        _XMLTestResult._createCDATAsections(311            xml_document, systemerr, stderr.getvalue())312        return testsuite313    _report_testsuite = staticmethod(_report_testsuite)314    def _test_method_name(test_id):315        """316        Returns the test method name.317        """318        return test_id.split('.')[-1]319    _test_method_name = staticmethod(_test_method_name)320    def _createCDATAsections(xmldoc, node, text):321        text = safe_unicode(text)322        pos = text.find(']]>')323        while pos >= 0:324            tmp = text[0:pos+2]325            cdata = xmldoc.createCDATASection(tmp)326            node.appendChild(cdata)327            text = text[pos+2:]328            pos = text.find(']]>')329        cdata = xmldoc.createCDATASection(text)330        node.appendChild(cdata)331    _createCDATAsections = staticmethod(_createCDATAsections)332    def _report_testcase(test_result, xml_testsuite, xml_document):333        """334        Appends a testcase section to the XML document.335        """336        testcase = xml_document.createElement('testcase')337        xml_testsuite.appendChild(testcase)338        class_name = re.sub(r'^__main__.', '', test_result.id())339        class_name = class_name.rpartition('.')[0]340        testcase.setAttribute('classname', class_name)341        testcase.setAttribute(342            'name', _XMLTestResult._test_method_name(test_result.test_id)343        )344        testcase.setAttribute('time', '%.3f' % test_result.elapsed_time)345        if (test_result.outcome != test_result.SUCCESS):346            elem_name = ('failure', 'error', 'skipped')[test_result.outcome-1]347            failure = xml_document.createElement(elem_name)348            testcase.appendChild(failure)349            if test_result.outcome != test_result.SKIP:350                failure.setAttribute(351                    'type',352                    safe_unicode(test_result.err[0].__name__)353                )354                failure.setAttribute(355                    'message',356                    safe_unicode(test_result.err[1])357                )358                error_info = safe_unicode(test_result.get_error_info())359                _XMLTestResult._createCDATAsections(360                    xml_document, failure, error_info)361            else:362                failure.setAttribute('type', 'skip')363                failure.setAttribute('message', safe_unicode(test_result.err))364    _report_testcase = staticmethod(_report_testcase)365    def generate_reports(self, test_runner):366        """367        Generates the XML reports to a given XMLTestRunner object.368        """369        from xml.dom.minidom import Document370        all_results = self._get_info_by_testcase()371        outputHandledAsString = \372            isinstance(test_runner.output, six.string_types)373        if (outputHandledAsString and not os.path.exists(test_runner.output)):...__init__.py
Source:__init__.py  
...241        stdout = StringIO()242        for test in tests:243            # Merge the stdout from the tests in a class244            stdout.write(test.stdout)245        _XMLTestResult._createCDATAsections(xml_document, systemout, stdout.getvalue())246        systemerr = xml_document.createElement('system-err')247        testsuite.appendChild(systemerr)248        stderr = StringIO()249        for test in tests:250            # Merge the stderr from the tests in a class251            stderr.write(test.stderr)252        _XMLTestResult._createCDATAsections(xml_document, systemerr, stderr.getvalue())253        return testsuite254    _report_testsuite = staticmethod(_report_testsuite)255    def _test_method_name(test_id):256        """257        Returns the test method name.258        """259        return test_id.split('.')[-1]260    _test_method_name = staticmethod(_test_method_name)261    def _createCDATAsections(xmldoc, node, text):262        pos = text.find(']]>')263        while pos >= 0:264            tmp=text[0:pos+2]265            cdata = xmldoc.createCDATASection(tmp)266            node.appendChild(cdata)267            text=text[pos+2:]268            pos = text.find(']]>')269        cdata = xmldoc.createCDATASection(text)270        node.appendChild(cdata)271    _createCDATAsections = staticmethod(_createCDATAsections)272    def _report_testcase(suite_name, test_result, xml_testsuite, xml_document):273        """274        Appends a testcase section to the XML document.275        """276        testcase = xml_document.createElement('testcase')277        xml_testsuite.appendChild(testcase)278        testcase.setAttribute('classname', suite_name)279        testcase.setAttribute(280            'name', _XMLTestResult._test_method_name(test_result.test_id)281        )282        testcase.setAttribute('time', '%.3f' % test_result.elapsed_time)283        if (test_result.outcome != _TestInfo.SUCCESS):284            elem_name = ('failure', 'error', 'skipped')[test_result.outcome - 1]285            failure = xml_document.createElement(elem_name)286            testcase.appendChild(failure)287            if test_result.outcome != _TestInfo.SKIP:288                failure.setAttribute('type', test_result.err[0].__name__)289                failure.setAttribute('message', to_unicode(test_result.err[1]))290                error_info = to_unicode(test_result.get_error_info())291                _XMLTestResult._createCDATAsections(xml_document, failure, error_info)292            else:293                failure.setAttribute('type', 'skip')294                failure.setAttribute('message', to_unicode(test_result.err))295    _report_testcase = staticmethod(_report_testcase)296    def generate_reports(self, test_runner):297        """298        Generates the XML reports to a given XMLTestRunner object.299        """300        from xml.dom.minidom import Document301        all_results = self._get_info_by_testcase(test_runner.outsuffix)302        if (isinstance(test_runner.output, six.string_types) and not303                os.path.exists(test_runner.output)):304            os.makedirs(test_runner.output)305        for suite, tests in all_results.items():...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
