The background error UnicodeDecodeError is reported when robotframework is running

Error in win10 environment:

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

Solution: Error utf8 encoding 0xb2 decoding in line 400: invalid

Every time we modify the testrunner.py file, we must remember to delete the testrunner.pyc file, and then restart the ride, otherwise it is equivalent to a white change~!

    def pop(self):

        result = ""

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

            try:

                result += self._queue.get_nowait()

            except Empty:

                pass

        return result.decode('UTF-8')

Change UTF-8 to GBK

Then solve the problem!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325068686&siteId=291194637