【问题标题】:How to load a file containing gherkin variables instead of writing the variables in robotframework test如何加载包含小黄瓜变量的文件,而不是在机器人框架测试中写入变量
【发布时间】:2021-12-22 00:36:36
【问题描述】:

我目前在机器人框架中使用小黄瓜排版来运行如下场景(它有效):

*** Test Cases ***
Scenario: compute my data
    [Template]  Scenario Outline: compute my data
    origin1    SVA1000    NR
    origin2    SVA2000    NR2

*** Keywords ***
Scenario Outline: compute my data
    [Arguments]  ${origin}  ${reportingGroup}  ${report}
    Given print it ${origin} ${reportingGroup} ${report}


print it ${origin} ${reportingGroup} ${report}
    Log To Console    ${origin} ${reportingGroup} ${report}

我有大量数据,所以我想把我的变量放在一个 .txt 文件中:

origin1    SVA1000    NR
origin2    SVA2000    NR2

问题:如何加载包含变量的文件而不是在机器人代码中写入变量?

【问题讨论】:

标签: robotframework gherkin


【解决方案1】:

您可以参考此部分“Resource and variable files”。创建一个 python 文件并创建一个列表来存储你的变量。

我的解决方案:

variables.py

list =  [
            ["origin1","SVA1000","NR"],
            ["origin2","SVA2000","NR2"]
        ]

main.robot

*** Settings ***
Variables    variables.py

*** Test Cases ***
Scenario: compute my data
    FOR    ${data}    IN    @{list}
        FOR    ${data_0}    ${data_1}    ${data_2}    IN    @{data}
            Scenario Outline: compute my data    ${data_0}    ${data_1}    ${data_2}
        END
    END

*** Keywords ***
Scenario Outline: compute my data
    [Arguments]  ${origin}  ${reportingGroup}  ${report}
    Given print it ${origin} ${reportingGroup} ${report}


print it ${origin} ${reportingGroup} ${report}
    Log To Console    ${origin} ${reportingGroup} ${report}

输出:

==============================================================================
Main
==============================================================================
Scenario: compute my data                                             origin1 SVA1000 NR
origin2 SVA2000 NR2
Scenario: compute my data                                             | PASS |
------------------------------------------------------------------------------
Main                                                                  | PASS |
1 test, 1 passed, 0 failed
==============================================================================

【讨论】:

  • 感谢您的回答,但是使用列表只会解决问题!_!
  • @AlexisLeloup 如果你的意思是加载一些数据来创建一个 python 列表。我以前用python做过。但我的数据存储在excel中,并通过Python将数据提取成JSON格式。然后可以很容易地在 python 中将大量数据创建到列表中。
  • 取决于您的数据存储在什么数据类型中。它有很多方法可以做到。
  • 最后,我解析我的文本文件: def parse_gherkin_text_file(path): """ 解析文件包含小黄瓜变量列表到元素的 2dim 列表。:param path:要解析的文件路径:return: 2dim 元素列表 """ f = open(path, "r") file_as_list = [x.strip().split("#", 1)[0] for x in f.readlines()] f.close( ) return [x.split() for x in file_as_list if x] 然后我使用你的循环谢谢 ;) 但我仍在等待“干净”的答案
  • @AlexisLeloup 是的,我认为你的功能已经完成了我所说的。但“干净”是什么意思?只需使用 Robotframework 语法来完成上述功能吗?
猜你喜欢
  • 2020-11-29
  • 1970-01-01
  • 2016-10-14
  • 2013-01-23
  • 2014-09-04
  • 1970-01-01
  • 2021-09-01
  • 2018-06-27
  • 2017-12-04
相关资源
最近更新 更多