【问题标题】:How to make test case data-driven in robot-framework when using bdd-style?使用 bdd 样式时如何在机器人框架中使测试用例数据驱动?
【发布时间】:2021-12-03 16:35:24
【问题描述】:

我的机器人框架中有一个 BDD 风格的测试用例。哪个正在调用 API。 API中有一个变量,它的值会发生变化。因此,我只想编写一个测试用例,并希望在一个测试用例执行后更改该变量。

请在下面找到代码:

*** Variables ***
   ${Upload_Project_Asset_To_Flagship_API}  /workstream/api/projects/${projectId}/assets/${assetId}/external?debug=1&user_id=${userId}

*** Test Cases ***
TC_01:
    When User Executes Upload Asset To Flagship API
    Then Assert the response after asset upload
    [Teardown]  User gets the uploaded file details

*** Keywords ***
User Executes Upload Asset To Flagship API
${resp}=         Put request  session1  ${Upload_Project_Asset_To_Flagship_API}  headers=${api_header}

【问题讨论】:

  • BDD 和数据驱动的概念彼此不兼容。 BDD 风格的测试通常调用多个步骤一次(给定/何时/那么),而数据驱动测试通常多次调用一个步骤。通过尝试强制混合两者,您期望获得什么?
  • 哦,我不知道这个。我想实现“用户执行上传资产到旗舰 API”关键字应该基于参数“assetId”运行

标签: robotframework bdd


【解决方案1】:

这是一个老问题,但对于任何登陆这里的人来说: 完全有可能将 Given When Then 描述与数据驱动测试结合起来 - 在 Robot Framework 中也是如此。许多 BDD 工具(例如 Cucumber)使用 GWEN 下的“示例”列表。 使用标准机器人框架,模板测试可用于列出数据,但套件中只能使用一个模板。 为了以更自然的方式支持示例,我编写了机器人框架库 RobotFramework-Examples。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 2021-06-07
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多