Robotframework - Как установить язык (французский) - PullRequest
0 голосов
/ 05 апреля 2019

Как установить язык (французский) действительным для Windows и Unix?

Мой полный тест робота:

*** Settings ***
Library    SeleniumLibrary
Library    DateTime

*** Keywords ***
Get Next Week French date
    Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale
    ${today}=               Get Time
    ${tomorrow}=            Add Time To Date  ${today}  1 days
    ${three_day_after}=     Add Time To Date  ${today}  3 days
    ${today_day}=           Convert Date      ${today}  result_format=%a
    Log To Console  ${today_day}
    ${next_date}=           Set Variable If   "${today_day}"=="ven."  ${three_day_after}  ${tomorrow}
    ${next_week}=           Add Time To Date  ${next_date}  7 days
    ${day_of_week}=         Convert Date   ${next_week}  result_format=%A
    ${day_of_week_fr}=      Evaluate  """${day_of_week}""".title()
    ${day}=                 Convert Date   ${next_week}  result_format=%d
    ${month}=               Convert Date   ${next_week}  result_format=%B
    [Return]  ${day_of_week_fr} ${day} ${month} 

test
    ${val}=  Get Next Week French date
    Log To Console  ${val}

*** Test Cases ***

MY SUPER TEST
    [Tags]  foo|AC0
    Given test

На моей локальной машине (Windows 7) OK :

Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale

На моей машине CI (Unix) OK :

Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale

Если я использую fr_FR.UTF-8 на моей локальной машине, у меня есть этоошибка:

locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')' failed: unsupported locale setting

РЕДАКТИРОВАТЬ

Может быть Python 2 (fr_FR.UTF-8) Vs.Python 3 (французский) ??

1 Ответ

2 голосов
/ 05 апреля 2019

Поскольку машины Windows и Unix используют разный синтаксис для установки языкового стандарта, вам следует сначала оценить операционную систему, а затем установить соответствующий языковой стандарт.

*** Keywords ***
Get next week french date 
    ${osName}    Evaluate    platform.system()  platform
    Run keyword if    "${osName}"=='Windows'    Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale
    ...         ELSE    Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...