机器人框架ASCII代码编码

时间:2016-04-24 20:42:29

标签: python robotframework

寻找解决UnicodeEncodeError的方法:' ascii'编解码器不能编码字符u' \ u2019'位置4:序数不在范围内(128)

目前我的代码是:

    coding: utf-8
*** Settings ***
Documentation  This is a simple test with Robot Framework
Suite Setup     Connect To Database    pymysql    ${DBName}    ${DBUser}    ${DBPass}    ${DBHost}    ${DBPort}
Suite Teardown  Disconnect From Database
Library         Selenium2Library
Library         DatabaseLibrary
Library         OperatingSystem
Library         String

*** Variables ***
${DBHost}         localhost
${DBName}         robottest
${DBPass}         sahill
${DBPort}         3306
${DBUser}         sahill

*** Test Cases ***
Open Browser To Start Roboting
    [Documentation]  Sarting robot
    [Tags]  Smoke
    Open Browser  http://movieplus.cc/a-z-movies/    firefox
    Maximize Browser Window
    WAIT UNTIL PAGE CONTAINS    have any legal issues please contact appropriate media file owners / hosters.

    Click Element   xpath=//div[@class='wrapper']//div[@class='thumbs']//div[@class='wrap']//div[1]//a
    WAIT UNTIL PAGE CONTAINS    have any legal issues please contact appropriate media file owners / hosters.
    ${count} =  Get Matching Xpath Count     xpath=//div[@class='wrap_content']//ul[@class='list']//li
    ${title} =  get text    xpath=//div[@class='wrap_content']//h2[@class='title']//span[@class='color']
    ${cate} =   get text    xpath=//div[@class='wrap_content']//ul[@class='list']
    ${director} =   get text    xpath=//div[@class='wrap_content']//div[1]//span[@class='desc']
    ${cast} =   get text    xpath=//div[@class='wrap_content']//div[2]//span[@class='desc']
    ${content} =    get text    xpath=//div[@class='wrap_content']//div[3]//span[@class='description']//p
    ${image_link} =     Get element attribute    xpath=//div[@class='content']//div[@class='wrap_img']//img@src
    Execute SQL String      INSERT INTO test VALUES('${title}', '${cate}', '${director}', '${cast}','${content}', '${image_link}', 'link');
    Go Back

${content}变量中,此内容为商店

A young woman wakes up in the basement of a man who claims he saved her life after pulling her from her overturned car which violently crashed along the highway. The man states that the world above them is no longer safe and is now a danger zone that threatens the rest of humanity. With no knowledge of what actually lies above and trust running thin between them, the woman questions **what’s true and what’s not**. Is the man a delusional psychotic that has a more sinister agenda for her? Or is it really hell on earth above ground like he swears? 

2 个答案:

答案 0 :(得分:0)

您正在使用python 2,因此,问题在于您尚未在文件的开头定义正确的编码。

# coding: utf-8

您可以选择:

  • 将编码标题放在文件顶部
  • 或:

    Use an ascii character for "’", like "'"
    

答案 1 :(得分:0)

在执行SQL字符串之前,您可以对内容进行编码,如:

${content} =    Encode String To Bytes    ${content}    ASCII    errors=replace

在这种情况下,结果为:... the woman questions what?s true and what?s not. Is the ...

如果忽略错误:

${content} =    Encode String To Bytes    ${content}    ASCII    errors=ignore

结果将是:... the woman questions whats true and whats not. Is the ...

(这将更容易理解)