Python Robot#u框架UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置42对字节0xe0进行t解码:无效的连续字节

Python Robot#u框架UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置42对字节0xe0进行t解码:无效的连续字节,python,robotframework,Python,Robotframework,我正在使用RED(Eclipse中的Robotframework) 我的测试用例运行正常 现在它不再工作了 它有一个错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置42中的字节0xe0:无效的连续字节 我不知道为什么会这样 你能帮我吗 多谢各位 *** setting *** Library SeleniumLibrary *** Variables*** ${Ecran_Name} New_Ecran_is_ABC

我正在使用RED(Eclipse中的Robotframework)

  • 我的测试用例运行正常
  • 现在它不再工作了
它有一个错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置42中的字节0xe0:无效的连续字节

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

多谢各位

     *** 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

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

  • 字体:Listedé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,
    )

最近我遇到了类似的问题“找不到名称为的关键字”,这是因为***设置***部分并不是从一行的开头开始的-看起来你们也有它(或者只是错误地放在了你们的帖子中)。因此,请在***设置***

Eclipse之前删除空格:

  • 窗口/首选项/工作区
  • 文本文件编码=UTF8
再次检查所有测试用例:

  • 看看这个特殊的角色
  • 再次修改字体
  • 测试用例将运行

I使用“字体:法语”。。。。这是Python中的一个bug(我猜是的,因为字体英语是可以的)嗨,soyacz。。。它相对于字体(UTF8)。。。。我的意思是使用法语(特殊字符)。。。。谢谢你的分享