【问题标题】:Robot_framework UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 42: invalid continuation byteRobot_framework UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 42: invalid continuation byte
【发布时间】:2020-05-26 09:03:55
【问题描述】:

我正在使用 RED(Eclipse 中的机器人框架)

  • 我的测试用例运行正常
  • 现在又不行了

它有一个错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 42: invalid continuation byte

我不知道为什么会这样 你能帮帮我吗

谢谢

     *** setting ***
Library    SeleniumLibrary     

*** Variables***
${Ecran_Name}         New_Ecran_is_ABC
${URL}  http://cd.blueway.fr:20321/BWDesignerFaces/login.jsf 
${Credentials}   Nam  Son  Cyrille 
&{Login_by_id_Pass}     Username=admin    Password=admin 


***Keyword***

LoginPageBlueway
    [Tags]    Login
    [Documentation]    Login Page 
    Open Browser    http://cd.blueway.fr:20321/BWDesignerFaces/login.jsf    Chrome     
    Click Element    id=loginForm:username    
    Input Text    id=loginForm:username    admin    
    Click Element    id=loginForm:password    
    Input Password    id=loginForm:password    Password     
    #Input Password    id=loginForm:password    &{Login_by_id_Pass}[Password]   
    Click Element    xpath=//button/span    
    Maximize Browser Window

注意 *:我猜它与 字体 相关:语言

  • 字体:Liste déroulante
  • 我使用的字体:法语
  • 我用字体:英文还可以

我的文件 UTF8 看起来像:

    import codecs

### Codec APIs

encode = codecs.utf_8_encode

def decode(input, errors='strict'):
    return codecs.utf_8_decode(input, errors, True)

class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, input, final=False):
        return codecs.utf_8_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
    _buffer_decode = codecs.utf_8_decode

class StreamWriter(codecs.StreamWriter):
    encode = codecs.utf_8_encode

class StreamReader(codecs.StreamReader):
    decode = codecs.utf_8_decode

### encodings module API

def getregentry():
    return codecs.CodecInfo(
        name='utf-8',
        encode=encode,
        decode=decode,
        incrementalencoder=IncrementalEncoder,
        incrementaldecoder=IncrementalDecoder,
        streamreader=StreamReader,
        streamwriter=StreamWriter,
    )

【问题讨论】:

    标签: python robotframework


    【解决方案1】:

    日食:

    • 窗口/首选项/工作区
    • 文本文件编码 = UTF8

    再次检查所有测试用例:

    • 看特殊字符
    • 再次修改字体
    • 测试用例将运行

    【讨论】:

      【解决方案2】:

      最近我遇到了类似的问题“没有找到名称的关键字”,这是 *** 设置 *** 部分没有从行首开始 - 似乎你也有它(或者只是放置错误在你的帖子中)。所以,请在***设置***前删除空格

      【讨论】:

      • 我使用“Font : French language” .... 这是 Python 中的一个错误(我猜它 - 因为字体英文没问题)
      • 嗨 soyacz ...它相对于字体(UTF8)...我的意思是使用法语(特殊字符)...谢谢您的分享
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2020-03-01
      • 2014-05-14
      • 1970-01-01
      • 2020-12-26
      • 2021-11-24
      • 2018-10-15
      相关资源
      最近更新 更多