代码之家  ›  专栏  ›  技术社区  ›  Arpitha

如何在Robot框架中搜索文件中的消息而不重复已搜索的行

  •  0
  • Arpitha  · 技术社区  · 6 年前

    我想在不断更新的文件中查找特定的消息。我用过 等待关键字成功 用我自己的关键字搜索文件,效果很好。

    *** Test Cases ***
    ${lineCount}    MyKeywordToGetLineCountToStartSearch    ${filename}
    Wait Until Keyword Succeeds    10s    2s    KeywordToLookForTheMessage    ${filename}    ${linecount}    ${message}
    
    *** Keywords ***
    KeywordToLookForTheMessage
    [Arguments]    ${filename}    ${linecount}    ${message}
    Run    tail -n +${linecount} ${filename} > ${locationdir}/${newfile}
    ${filecontent}    Get File    ${locationdir}/${newfile}
    @{lines}    Split To Lines    ${filecontent}
    ${result_list}    Create List
    : FOR    ${line}    IN    @{lines}
        \    ${state}    ${msg}    Run Keyword And Ignore Error    Should Contain    ${line}    ${message}
        \    Run Keyword If    '${state}' == 'PASS'    Append To List    ${result_list}    ${line}
    Should not be empty    ${result_list}
    

    现在我缺少的是,

    • 在每次迭代中,我都需要更新行数,这样我就不会再查看相同的行了。
    • 在这样做的同时,我还希望保留原始的行计数值,以便在测试用例中进一步使用。

    我该怎么做?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pekka Klärck    6 年前

    这种复杂的逻辑应该使用Python在测试库中实现,而不是试图使用现有库提供的低级关键字。