← Back to team overview

sikuli-driver team mailing list archive

[Bug 1807150] Re: [request] Sikuli logs to HTML test runner report

 

** Changed in: sikuli
       Status: In Progress => Won't Fix

** Changed in: sikuli
    Milestone: 1.1.4 => None

-- 
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1807150

Title:
  [request] Sikuli logs to HTML test runner report

Status in Sikuli:
  Won't Fix

Bug description:
  ----------------------- a possible solution

  I actually found a solution on how to write my custom logs into html
  test runner report.For this you need: sikulixIDE,HTMLTestreport and
  unittest. So I have a file, testRunner for example form where I'm
  running the tests. Those are organized via unittest.TestSuite and then
  executed with HTMLTestRunner like this:

  if __name__ == "__main__":

      suite = suite()
      unittest.TextTestRunner(verbosity = 2)
      output = open(r"your html.file report location","w+")
      runner = HTMLTestRunner.HTMLTestRunner(stream=output, title='Test Report', description='Logfiles')
      runner.run(suite)

  The most important thing is the Logger file, let's say MyLogger, the
  code looks like this:

  from sikuli import *

  # Severity of logged behaviour
  LEVEL_FATAL, LEVEL_WARNING, LEVEL_INFO = range(0, 3)

  class Messenger:

      @staticmethod
      def Log(severity,message):
          switcher = {
              LEVEL_FATAL: 'FATAL ERROR',
              LEVEL_WARNING: 'WARNING',
              LEVEL_INFO: 'INFO',
          }
          severityMessage = switcher.get(severity, "MESSAGE")
          messageLong = severityMessage + message
          if severity == LEVEL_FATAL:
              print Exception(messageLong)
          else:
              print messageLong

  Now just import MyLogger file into your tests or where you need this
  logger and use it like this:

  import MyLogger
  reload(MyLogger)

  #your code

  //logger call example for fatal
  MyLogger.Messenger.Log(MyLogger.LEVEL_FATAL,'your message')

  Now when the htmlfile is generated by HTMLTestreport, the logs should
  be displayed there for each test(ofc based on how you organized them
  in your suites in TestRunner file.

  I hope this works for you as for me it's really good and helpful.

  ---------------------------------------------------------------------------------------------------------

  Hello, I am using sikuli IDE to automate a desktop app. I'm also using html-testRunner 1.1.2 to generate reports and the sikuli logger to write to a file. Here is my code for this:
   
      Settings.UserLogs=True
      Settings.UserLogPrefix="LOG"
      Settings.UserLogTime=True
      Debug.setUserLogFile("path\TestRunnerLogs.txt")
      Debug.user('some text')

  How can I write my logs directly to the HTML file generated by htlm
  test runner? And if possible can i write the logs separately for each
  test?

  Thank you!

To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1807150/+subscriptions


References