在使用基于Python27搭建的robotframework的时候,突然发现 robotframework-ride界面在执行用例时,底部没有执行日志打印,界面按键Report和Log呈现灰色,不跳转,通过查阅资料通过以下办法解决。
修改 C:\Python27\Lib\site-packages\robotide\contrib\testrunner\testrunner.py
找到如下类:
class StreamReaderThread(object):
def __init__(self, stream):
self._queue = Queue()
self._thread = None
self._stream = stream
def run(self):
self._thread = threading.Thread(target=self._enqueue_output,
args=(self._stream,))
self._thread.daemon = True
self._thread.start()
def _enqueue_output(self, out):
for line in iter(out.readline, b''):
self._queue.put(line)
def pop(self):
result = ""
for _ in xrange(self._queue.qsize()):
try:
result += self._queue.get_nowait()
except Empty:
pass
return result.decode('UTF-8')
注释掉最后一行
#return result.decode('UTF-8')
添加如下代码
try:
result=result.decode('UTF-8')
except UnicodeDecodeError:
pass
return result
注意格式对齐。
重新打开RF,便可以发现问题解决了。