← Back to team overview

sikuli-driver team mailing list archive

Re: [Question #676371]: Sikuli logs to HTML test runner report --- not possible

 

Question #676371 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/676371

Rares Pasca posted a new comment:
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.

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for Sikuli.