装完 robotframework,打开 ride,执行脚本出现 unicodeDecodeError
看了各种帖子,试了以下方法:

  1. github 有报出过该 issue,但是最后没有看到怎么修复的,求大神指点。 https://github.com/robotframework/RIDE/issues/1334
  2. 试过改 D:\Python27\Lib 下的 mimetypes.py,依然不起作用。 注:有将 gbk 改成 utf8,也不起作用 python if sys.getdefaultencoding() != 'gbk': reload(sys) sys.setdefaultencoding('gbk')
  3. 将 D:\Python27\Lib\site-packages\robot\utils 的 encodingsniffer.py 的 DEFAULT_SYSTEM_ENCODING = 'cp1252'改成 DEFAULT_SYSTEM_ENCODING = 'UTF-8'不起作用
  4. D:\Python27\Lib\site-packages\robotide\lib\robot\utils 的 encodingsniffer.py 的 DEFAULT_SYSTEM_ENCODING = 'cp1252'改成 DEFAULT_SYSTEM_ENCODING = 'UTF-8'不起作用
  5. 重装 wxPython2.8-win64-unicode-2.8.12.1-py27,不起作用
  6. 已疯。。

版本:wxPython2.8-win64-unicode-2.8.12.1-py27
robotframework-ride-1.5.2.1
python-2.7.11
pywin32-218.win-amd64-py2.7
Selenium2Library-1.7.4

解决方案:
修改 Python27\Lib\site-packages\robotide\contrib\testrunner 文件第 400 行 pop 函数,将整个 pop 函数改为

def pop(self):
        result = ""
        try:
            result=result.decode('UTF-8')
        except UnicodeDecodeError:
            pass        
        return result


↙↙↙阅读原文可查看相关链接,并与作者交流