From 247bd5843aac01d9f8fb4266fe24efabff1cf447 Mon Sep 17 00:00:00 2001 From: anisha Date: Wed, 21 Aug 2013 16:08:57 +0530 Subject: [PATCH 1/3] Updating the HTMLTestRunner module with a css and some sample code for test descriptions --- HTMLTestRunner.py | 300 +++++++++++++++++++++++++++++++++++++--------- README | 5 + 2 files changed, 246 insertions(+), 59 deletions(-) diff --git a/HTMLTestRunner.py b/HTMLTestRunner.py index 8d60600..d355c32 100644 --- a/HTMLTestRunner.py +++ b/HTMLTestRunner.py @@ -65,15 +65,12 @@ # URL: http://tungwaiyip.info/software/HTMLTestRunner.html __author__ = "Wai Yip Tung" -__version__ = "0.8.3" +__version__ = "0.8.2" """ Change History -Version 0.8.3 -* Prevent crash on class or module-level exceptions (Darren Wurf). - Version 0.8.2 * Show output inline instead of popup window (Viorel Lupu). @@ -92,14 +89,15 @@ # TODO: color stderr # TODO: simplify javascript using ,ore than 1 class in the class attribute? - +from selenium import webdriver import datetime import StringIO import sys import time import unittest from xml.sax import saxutils - +#make the necessary imports if required, in case of any config file or any +#other data required to display in the report # ------------------------------------------------------------------------ # The redirectors below are used to capture output during testing. Output @@ -112,23 +110,15 @@ # >>> logging.basicConfig(stream=HTMLTestRunner.stdout_redirector) # >>> -def to_unicode(s): - try: - return unicode(s) - except UnicodeDecodeError: - # s is non ascii byte string - return s.decode('unicode_escape') - class OutputRedirector(object): """ Wrapper to redirect stdout or stderr """ def __init__(self, fp): self.fp = fp def write(self, s): - self.fp.write(to_unicode(s)) + self.fp.write(s) def writelines(self, lines): - lines = map(to_unicode, lines) self.fp.writelines(lines) def flush(self): @@ -183,12 +173,12 @@ class Template_mixin(object): """ STATUS = { - 0: 'pass', - 1: 'fail', - 2: 'error', + 0: 'PASS', + 1: 'FAIL', + 2: 'ERROR', } - DEFAULT_TITLE = 'Unit Test Report' + DEFAULT_TITLE = "Test Report" DEFAULT_DESCRIPTION = '' # ------------------------------------------------------------------------ @@ -216,17 +206,25 @@ class Template_mixin(object): if (id.substr(0,2) == 'ft') { if (level < 1) { tr.className = 'hiddenRow'; + tr.nextElementSibling.className = 'hiddenRow' } else { tr.className = ''; + tr.nextElementSibling.className = ''; + tr.nextElementSibling.getElementsByTagName("div")[0].style.display = 'none'; + } } if (id.substr(0,2) == 'pt') { if (level > 1) { tr.className = ''; + tr.nextElementSibling.className = ''; + tr.nextElementSibling.getElementsByTagName("div")[0].style.display = 'none'; } else { tr.className = 'hiddenRow'; + tr.nextElementSibling.className = 'hiddenRow'; + } } } @@ -257,6 +255,7 @@ class Template_mixin(object): } else { document.getElementById(tid).className = ''; + document.getElementById(tid).nextElementSibling.className = ''; } } } @@ -290,7 +289,8 @@ class Template_mixin(object): "resizable,scrollbars,status,width=800,height=450"); d = w.document; d.write("
");
-    d.write(html_escape(output_list[id]));
+  //  d.write(html_escape(output_list[id]));
+    d.write(output_list[id]);
     d.write("\n");
     d.write("close\n");
     d.write("
\n"); @@ -317,25 +317,28 @@ class Template_mixin(object): STYLESHEET_TMPL = """ """ @@ -409,13 +538,22 @@ class Template_mixin(object): HEADING_TMPL = """

%(title)s

-%(parameters)s + +
+
    + %(parameters)s +
+
+
""" # variables: (title, parameters, description) - HEADING_ATTRIBUTE_TMPL = """

%(name)s: %(value)s

+ HEADING_ATTRIBUTE_TMPL = """ +
  • %(name)s: %(value)s
  • + """ # variables: (name, value) @@ -425,14 +563,15 @@ class Template_mixin(object): # REPORT_TMPL = """ -

    Show +

    +

    Summary Failed All

    -+@@ -472,27 +611,36 @@ class Template_mixin(object): REPORT_TEST_WITH_OUTPUT_TMPL = r""" - + + + + + + + - + + """ # variables: (tid, Class, style, desc, status) @@ -505,9 +653,9 @@ class Template_mixin(object): REPORT_TEST_OUTPUT_TMPL = r""" -%(id)s: %(output)s +%(output)s """ # variables: (id, output) - +#%(id)s %(output)s # ------------------------------------------------------------------------ @@ -527,7 +675,6 @@ class _TestResult(TestResult): def __init__(self, verbosity=1): TestResult.__init__(self) - self.outputBuffer = StringIO.StringIO() self.stdout0 = None self.stderr0 = None self.success_count = 0 @@ -548,6 +695,7 @@ def __init__(self, verbosity=1): def startTest(self, test): TestResult.startTest(self, test) # just one buffer for both stdout and stderr + self.outputBuffer = StringIO.StringIO() stdout_redirector.fp = self.outputBuffer stderr_redirector.fp = self.outputBuffer self.stdout0 = sys.stdout @@ -639,7 +787,7 @@ def run(self, test): test(result) self.stopTime = datetime.datetime.now() self.generateReport(test, result) - print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) + print >>sys.stderr, '\n Time Elapsed for Running Test Cases: %s' % (self.stopTime-self.startTime) return result @@ -666,9 +814,19 @@ def getReportAttributes(self, result): startTime = str(self.startTime)[:19] duration = str(self.stopTime - self.startTime) status = [] - if result.success_count: status.append('Pass %s' % result.success_count) - if result.failure_count: status.append('Failure %s' % result.failure_count) - if result.error_count: status.append('Error %s' % result.error_count ) + #In order to specify the URL and browser in the test report, use a config file to set the following parameters. + ''' + sample code: + url = config.get("set_url",'url') + + try: + browser= config.get("set_path_to_chromedriver",'browser') + except NoSectionError: + browser= "Firefox" + ''' + if result.success_count: status.append('PASS %s' % result.success_count) + if result.failure_count: status.append('FAILURE %s' % result.failure_count) + if result.error_count: status.append('ERROR %s' % result.error_count ) if status: status = ' '.join(status) else: @@ -677,6 +835,13 @@ def getReportAttributes(self, result): ('Start Time', startTime), ('Duration', duration), ('Status', status), + ''' + sample code continued implementation: + + # ('URL', url), + # ('Browser', browser), + ''' + #or you may alaso hardcode the URL and browser name here itself in place of using a config file ] @@ -735,8 +900,8 @@ def _generate_report(self, result): else: name = "%s.%s" % (cls.__module__, cls.__name__) doc = cls.__doc__ and cls.__doc__.split("\n")[0] or "" - desc = doc and '%s: %s' % (name, doc) or name - + desc = doc and '%s %s' % (name, doc) or name + desc = "Tests" row = self.REPORT_CLASS_TMPL % dict( style = ne > 0 and 'errorClass' or nf > 0 and 'failClass' or 'passClass', desc = desc, @@ -764,10 +929,26 @@ def _generate_report(self, result): def _generate_report_test(self, rows, cid, tid, n, t, o, e): # e.g. 'pt1.1', 'ft1.1', etc has_output = bool(o or e) + #tid = '#' tid = (n == 0 and 'p' or 'f') + 't%s.%s' % (cid+1,tid+1) + name = t.id().split('.')[-1] doc = t.shortDescription() or "" - desc = doc and ('%s: %s' % (name, doc)) or name + desc = doc and ('%s %s' % (name, doc)) or name + +#if you want to add the description to your test case in place of a dynamic test name, +#you can simply use the following code, +#may be link to a dictionary or add the test desrciptiton here itself to the code + +''' +Sample code: + if desc == 'test_testcase1': #where test_testcase1 is the dynamic test case name + desc = test_cases['testcase1'] #where test_cases is a dictionary with description of each test case included in the test suite + else desc == 'test_testcase2: + desc = "To verify that..... " #OR you can hard code the test description in the library file itself in place of linking to a dictionary + +''' + tmpl = has_output and self.REPORT_TEST_WITH_OUTPUT_TMPL or self.REPORT_TEST_NO_OUTPUT_TMPL # o and e should be byte string because they are collected from stdout and stderr? @@ -786,13 +967,14 @@ def _generate_report_test(self, rows, cid, tid, n, t, o, e): script = self.REPORT_TEST_OUTPUT_TMPL % dict( id = tid, - output = saxutils.escape(uo+ue), + #output = saxutils.escape(uo+ue), + output = uo+ue, ) row = tmpl % dict( tid = tid, Class = (n == 0 and 'hiddenRow' or 'none'), - style = n == 2 and 'errorCase' or (n == 1 and 'failCase' or 'none'), + style = n == 2 and 'errorCase' or (n == 1 and 'failCase' or 'passCase'), desc = desc, script = script, status = self.STATUS[n], diff --git a/README b/README index b1beea9..57a5f47 100644 --- a/README +++ b/README @@ -3,3 +3,8 @@ It generates easy to use HTML test reports. HTMLTestRunner is released under a BSD style license. Only a single file module HTMLTestRunner.py is needed to generate your report. + +Additions: +Changed the css or the report. +One can add description to the test cases, added a sample code in HTMLTestRunner.py module itself. + From fe39549c97fc86117e4af643c62d523f3d048210 Mon Sep 17 00:00:00 2001 From: anisha Date: Wed, 21 Aug 2013 16:47:56 +0530 Subject: [PATCH 2/3] snapshot for sample report with new css --- README | 2 +- sample_report.png | Bin 0 -> 73822 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 sample_report.png diff --git a/README b/README index 57a5f47..977b256 100644 --- a/README +++ b/README @@ -5,6 +5,6 @@ BSD style license. Only a single file module HTMLTestRunner.py is needed to generate your report. Additions: -Changed the css or the report. +Changed the css for the report. One can add description to the test cases, added a sample code in HTMLTestRunner.py module itself. diff --git a/sample_report.png b/sample_report.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d2889c8535ae331c5eb63ec85353b20fd52c65 GIT binary patch literal 73822 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 T;D3E4uP4e1>hgv6p1%5DuJXS8 literal 0 HcmV?d00001 From 42041fe5d20dad37874116ffb9e416eaaf246b7b Mon Sep 17 00:00:00 2001 From: anisha Date: Wed, 21 Aug 2013 17:04:52 +0530 Subject: [PATCH 3/3] Edited README --- README | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README b/README index 977b256..62ad961 100644 --- a/README +++ b/README @@ -5,6 +5,10 @@ BSD style license. Only a single file module HTMLTestRunner.py is needed to generate your report. Additions: -Changed the css for the report. -One can add description to the test cases, added a sample code in HTMLTestRunner.py module itself. +Changed CSS +One can add description to the test cases by following the sample code +mentioned in the HTMLTestRunner.py module itself. +Read the comments carefully in order to generate detailed reports. + +View the sample report in sample_report.png
    %(desc)s
    %(status)s + -
    + - +