1
votes

I am using RED ( Robotframework in Eclipse )

  • My Testcase is run OK
  • Now it not work again

It have a error : UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 42: invalid continuation byte

I dont know why it happen Can you help me

Thank you

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

enter image description here

Note *: I guess it relative to Font : Language

  • Font : Liste déroulante
  • I used font : French laguage
  • I use font : English is OK

My file UTF8 is look like :

    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,
    )
2

2 Answers

1
votes

Recently I've got to similar problem 'No keyword with name found', it was that *** Settings *** section didn't start from beginning of the line - seems you have it either (or just wrongly placed in your post). So, please remove spaces before *** Settings ***

1
votes

Eclipse :

  • Window/ Preferences/ Workspace
  • Text file encoding = UTF8

Check all Testcase again :

  • Look at special character
  • Modify Font again
  • Testcase will run

enter image description here