关于robotframework中看不到运行日志的解决办法
关于robotframework中看不到运行日志
又来踩坑啦~
不知道各位小伙伴有没有碰到过运行RIDE的时候看不到运行日志的情况呢~
就是运行也正常,也成功了,但是在下方log里看不到任何输入信息,就是酱紫的:
一脸懵逼如果是用命令行打开的,有时是开始能看到日志,然后在运行过几遍之后就看不到日志了,很是让人费解
如果是在桌面快捷方式打开的,可能直接就看不到日志
那么这样的情况应该如何解决呢?
通过一段时间的摸索和寻找,接下来我给大家说一下解决方法:
首先通过命令行ride.py启动,这样能看到运行日志,大家一定要记得及时查看日志哦
我们能看到在启动的时候如下报错
在运行时也有报错
可以看到这里报了一个UnicodeDecodeError,原因是啥不知道,百度也没找到好的解决方法,
可能是出现了某些特定字符,0xb2是什么不太清楚,无法确认具体是什么字符.
很显然不太适合去utf-8.py这里去做改动,因为这是个比较公共的库了,
那么继续看,是在C:\Python27\Lib\site-packages\robotide\contrib\testrunner下的testrunner.py文件的
第400行pop方法里的这一句:
return result.decode('UTF-8')报错。
OJBK!
那我们进入这个目录:
C:\Python27\Lib\site-packages\robotide\contrib\testrunner
找到testrunner.py文件,然后使用IDLE打开该文件,不要用记事本什么的,防止改的缩进有问题
如果你改完后发现报错信息是IndentationError: unexpected indent,通常就是缩进有问题。
在源码文件里找到这个pop函数,可以看到出错的那行语句,是400行:
把原来那行删掉,加个try catch:
注意try是和for对齐,注意!一定对齐!!不会的参考截图!!这里的代码如下:
try:
result=result.decode('UTF-8')
exceptUnicodeDecodeError:
pass
return result
改完保存关闭该文件,然后删掉testrunner.pyc文件
然后重新打开RIDE,发现一切恢复正常,日志出来了~~
好了~~