Browse Source

Excel-output with Red/Green for Testcase-Status OK/failed

bernhardbuhl 4 years ago
parent
commit
7f88888bc8
4 changed files with 20 additions and 7 deletions
  1. 2 1
      .gitignore
  2. 3 4
      baangt/base/BrowserHandling.py
  3. 11 1
      baangt/base/ExportResults.py
  4. 4 1
      baangt/base/utils.py

+ 2 - 1
.gitignore

@@ -3,4 +3,5 @@
 /build
 /dist
 /baangt/logs
-geckodriver.log
+geckodriver.log
+*.png

+ 3 - 4
baangt/base/BrowserHandling.py

@@ -126,13 +126,11 @@ class BrowserDriver:
 
         return lFile
 
-    def handleIframe(self, iframe = None):
+    def handleIframe(self, iframe=None):
         """Give an IFRAME and it will try to go into.
         If you're inside an iframe it will go out of the iframe"""
-
-        self._log(logging.DEBUG, "Going into Iframe: ", **{"iframe": iframe})
-
         if iframe:
+            self._log(logging.DEBUG, "Going into Iframe: ", **{"iframe": iframe})
             # frame_to_be_availble_and_switch_to_it doesn't work.
             mustEnd = time.time() + 300
             while time.time() < mustEnd:
@@ -147,6 +145,7 @@ class BrowserDriver:
                 raise TimeoutError
 
         elif self.iFrame:
+            self._log(logging.DEBUG, f"Leaving Iframe: {self.iFrame}")
             self.driver.switch_to.default_content()
             self.iFrame = None
         pass

+ 11 - 1
baangt/base/ExportResults.py

@@ -16,6 +16,10 @@ class ExportResults:
         self.worksheet = self.workbook.add_worksheet("Output")
         self.dataRecords = kwargs.get(GC.KWARGS_TESTRUNINSTANCE).dataRecords
         self.fieldListExport = kwargs.get(GC.KWARGS_TESTRUNATTRIBUTES).get(GC.EXPORT_FORMAT)["Fieldlist"]
+        self.cellFormatGreen = self.workbook.add_format()
+        self.cellFormatGreen.set_bg_color('green')
+        self.cellFormatRed = self.workbook.add_format()
+        self.cellFormatRed.set_bg_color('red')
         self.__setHeader()
         self._exportData()
         self.closeExcel()
@@ -49,7 +53,13 @@ class ExportResults:
             if isinstance(testRecordDict[fieldName], dict) or isinstance(testRecordDict[fieldName], list):
                 self.worksheet.write(line, cellNumber, testRecordDict[fieldName].strip())
             else:
-                self.worksheet.write(line, cellNumber, testRecordDict[fieldName])
+                if fieldName == GC.TESTCASESTATUS:
+                    if testRecordDict[GC.TESTCASESTATUS] == GC.TESTCASESTATUS_SUCCESS:
+                        self.worksheet.write(line, cellNumber, testRecordDict[fieldName], self.cellFormatGreen)
+                    elif testRecordDict[GC.TESTCASESTATUS] == GC.TESTCASESTATUS_ERROR:
+                        self.worksheet.write(line, cellNumber, testRecordDict[fieldName], self.cellFormatRed)
+                else:
+                    self.worksheet.write(line, cellNumber, testRecordDict[fieldName])
 
     def closeExcel(self):
         self.workbook.close()

+ 4 - 1
baangt/base/utils.py

@@ -38,7 +38,10 @@ class utils:
         """
         if value[0:3] == "GC." or value[0:4] == 'CGC.':
             if value[0:3] == 'GC.':
-                value = getattr(globals()[value.split(".")[0]], value.split(".")[1])
+                try:
+                    value = getattr(globals()[value.split(".")[0]], value.split(".")[1])
+                except Exception as e:
+                    logger.warning(f"Referenced variable doesn't exist: {value}")
             elif value[0:4] == 'CGC.':
                 value = getattr(globals()[value.split(".")[0]], value.split(".")[1])
         return value