Robot FrameWork - Получить текущую дату Проблема - Ключевое слово с именем '=' не найдено - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь обновить столбец в одном файле Excel с текущим временем.

Чтобы выполнить sh это, я использую ключевое слово Get Current Date из библиотеки DateTime и сохраняю его в скаляр ${datetime} в скрипте ниже

 *** Settings ***
 Default Tags      Download_File
 Library           SeleniumLibrary
 Library           ExcelLibrary
 Resource          Userdefinedkeywords.txt
 Library           DateTime

 Run Keyword If    ${countt}>0    Run Keywords    Click Element    xpath://[@id="fileSubmit"]/div[1]/img
    ...    AND    Open Excel    D:\\RPA\\Demo\\Excelx.xls
    ...    AND    Put String To Cell    Test    2    ${countd}    ZIP FILE
    ...    AND    Save Excel    D:\\RPA\\Demo\\Excelx_DONE.xls
    ...    ELSE IF    ${countt2}>0    Run Keywords    Click Element    xpath://*[@id="plsAttachGrid_0_1"]/img
    ...    AND    ${datetime}=    Get Current Date
    ...    AND    Open Excel    D:\\RPA\\Demo\\Excelx.xls
    ...    AND    Put String To Cell    Test    2    ${countd}    SINGLE FILE
    ...    AND    Put String To Cell    Test    3    ${countd}    ${datetime}
    ...    AND    Save Excel    D:\\RPA\\Demo\\Excelx_DONE.xls
    ...    ELSE    Run Keywords    Open Excel    D:\\RPA\\Demo\\Excelx.xls
    ...    AND    Put String To Cell    Test    2    ${countd}    NO FILE
 ${countd}=    Evaluate    ${countd}+${1}

Я получаю следующую ошибку:

FAIL : No keyword with name '=' found.

Когда часть кода выполняется:

... AND ${datetime}= Get Current Date

Что не так с кодом? Заранее спасибо

1 Ответ

4 голосов
/ 03 августа 2020

Вы не можете назначать переменные внутри Run Keyword If - он запускает только ключевые слова, и для этого фреймворк выдает ошибку.

Run Keyword If    ${countt}>0    Run Keywords    Click Element    xpath://[@id="fileSubmit"]/div[1]/img
# skipped lines
    ...    AND    ${datetime}=    Get Current Date
    ...    AND    # skipped lines

Когда он доходит до этой строки, он пытается запустить ключевое слово ${datetime}= с аргументом «Получить текущую дату» и не работает.

...