robotframework運行時后台報錯UnicodeDecodeError


win10環境下報錯:

Traceback (most recent call last):

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 370, in OnTimer

    self._test_runner.get_output_and_errors(self.get_current_profile())

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 250, in get_output_and_errors

    stdout, stderr, returncode = self._process.get_output(), \

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 305, in get_output

    return self._output_stream.pop()

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 400, in pop

    return result.decode('UTF-8')

  File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode

    return codecs.utf_8_decode(input, errors, True)

UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2 in position 5: invalid start byte

Traceback (most recent call last):

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 370, in OnTimer

    self._test_runner.get_output_and_errors(self.get_current_profile())

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 250, in get_output_and_errors

    stdout, stderr, returncode = self._process.get_output(), \

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 305, in get_output

    return self._output_stream.pop()

  File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py", line 400, in pop

    return result.decode('UTF-8')

  File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode

    return codecs.utf_8_decode(input, errors, True)

UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2 in position 279: invalid start byte

解決方案:在line400行報錯utf8編碼0xb2解碼:無效

我們每次在修改了testrunner.py文件后一定要記得刪掉testrunner.pyc文件,然后重新啟動ride,不然等於白改~!

    def pop(self):

        result = ""

        for _ in xrange(self._queue.qsize()):

            try:

                result += self._queue.get_nowait()

            except Empty:

                pass

        return result.decode('UTF-8')

把UTF-8改成GBK

然后解決問題!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM