【问题标题】:Looping through the content of a file in RobotFramework在 RobotFramework 中循环文件的内容
【发布时间】:2017-08-01 07:32:40
【问题描述】:

如何在 Robot Framework 中循环浏览文件的内容?

我的文件内容是这样的:

1001
1002
1003
第1004章

我想一个一个读取内容,赋值给一个变量,然后对它做一些操作。

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    Robotframework 有几个内置库,可添加大量功能。可用于此任务的两个是 OperatingSystem 库和 String 库。

    您可以使用 OperatingSystem 库中的关键字Get File 来读取文件,也可以使用 String 库中的 Split to Lines 关键字将文件内容转换为行列表。然后只需使用for loop 循环遍历这些行。

    例如:

    *** Settings ***
    | Library | OperatingSystem
    | Library | String
    
    *** Test Cases ***
    | Example of looping over the lines in a file
    | | ${contents}= | Get File | data.txt
    | | @{lines}= | Split to lines | ${contents}
    | | :FOR | ${line} | IN | @{lines}
    | | | log | ${line} | WARN
    

    【讨论】:

    • FOR 循环是机器人框架的旧语法。新版本不需要':'。
    【解决方案2】:

    这解决了我和你一样的问题!

    ${File}=    Get File  Path\\FileName.txt
    @{list}=    Split to lines  ${File}     
    :FOR    ${line} IN  @{list}
    \   Log ${line}
    \   ${Value}=   Get Variable Value  ${line}
    \   Log ${Value}
    

    我正在阅读“文本”文件,“获取变量值”是内置库的一部分。谢谢!

    【讨论】:

      【解决方案3】:

      以下是如何在机器人框架测试用例中使用 FOR 和 While 循环的不同示例列表。

      http://robotframework.googlecode.com/svn/tags/robotframework-2.5.3/atest/testdata/running/for.txt

      【讨论】:

      • 感谢马里奥,但它并没有告诉我如何直接从文件中读取并遍历内容。例如我们在 shell 脚本中的做法:for var in 'cat file`;做某事;
      • 我可以像这里解释的那样通读文件吗?stackoverflow.com/questions/17237464/…
      • 您可以使用robot.libraries.OperatingSystem 库通读该文件。有一个适合您要求的特定方法: def grep_file(self, path, pattern, encoding='UTF-8'): 查看库:robot-framework.readthedocs.org/en/2.7.7/_modules/robot/…
      【解决方案4】:

      我已成功用于 .csv 文件的策略是创建一个基于 Python 的关键字,该关键字将抓取文件中的第 n 个项目。我这样做的方式涉及导入 CSV Python 库,因此要给出更完整的答案,我必须知道您要读取的文件类型。

      【讨论】:

        猜你喜欢
        • 2010-12-04
        • 2017-09-18
        • 2016-07-26
        • 1970-01-01
        • 2019-02-21
        • 2017-02-03
        • 2018-11-04
        • 1970-01-01
        相关资源
        最近更新 更多