Closed HolQue closed 3 months ago
Hi @milanac030988 , can you please with high priority look into this issue. We need to support parallel access for the BITS_Platfrom. This is the try from Holger to build a library for this. Thank you, Thomas
Hmm, maybe it's not supported to use print()
in pure Python functions that are executed in the context of Robot Framework?
In the meantime I implemented in all basic keyword functions an own logging. Every log line starts with a timestamp. I merge all log files and sort the result in alphabetical order (=> in chronological order). Result: All things fine. The sequence is like expected.
What is now the expectation w.r.t. this topic? Shall the content of print()
statements coming from outside Robot Framework, be part of the Robot Framework debug log file? Or is it recommended not to do this?
Order in log files need to reflect actual execution order in case of threading.
Could not reproduce. Maybe fixed with https://github.com/test-fullautomation/robotframework/pull/86
Closed. New ticket when problem occurs again.
Hi Cuong,
I have an issue with the order of log entries in debug log file in case of keywords implemented in an own keyword library, are executed as thread.
The keywords are used to communicate with the BITS-Platform based on an TCP/IP connection.
The test setup is:
This is the test code in robot file
The log window of BITS-Platform gives evidence about the properly executed test sequence:
The console window of Robot Framework indicates the same proper sequence:
The Python code belonging to the keyword implementation has his own
print()
functions:This is the listener thread:
This is a keyword implementation:
This code is implemented in a pure Python script that is imported in a Robot Framework keyword library. This is the mapping code:
I am confused now about the order of the
print()
outputs in debug log file:Why is
[kw_3-1] : entering kw_3
at top? I would expect that
[kw_1] : entering kw_1
is at top (but is the last instead).
Why is
[kw_3-1] : trying to send message: 'SELFTEST UNIT_3 SINGLE GET DELAY_ 2000 VALUE_ TEST-3-1'
at top? I would expect that
[kw_1] : trying to send message: 'SELFTEST UNIT_1 SINGLE GET DELAY_ 20000 VALUE_ TEST-1'
is at top.
And I miss
Message received in listener: 'STATUS_ OK E_CODE_ 0 ...
belonging toTEST-1
and
[kw_1] : end of kw_1
This behavior is reproducible.
OK, I have to admit, that I am not really experienced in thread programming. Maybe my way to implement this functionality is not correct or something is missing.
Do you have any idea what is going wrong here?