【问题标题】:Issue with accessing multiple files with same name from different folder in Robot Framework从机器人框架中的不同文件夹访问多个同名文件的问题
【发布时间】:2021-11-22 20:07:04
【问题描述】:

Robot Framework 相关问题

我在 Pycharm 中的一个项目中有 3 个文件夹:A、B 和 C

在文件夹 A 中有 Common.robot 文件,关键字为 Suite SetupUser Info。 在文件夹 B 中有 Common.robot 文件,关键字为 Suite Setup。 我需要从文件夹 C 访问文件夹 A 中的 Common.User Info 和文件夹 B 中的 Common.Suite Setup

在我放置的资源中

*** Settings ***
Resource            ../A/Common.robot
Resource            ../B/Common.robot

Suite Setup         Common.Suitesetup

我无法执行并收到如下错误

父套件设置失败: 找到多个名为“Common.Suite Setup”的关键字: Common.Suite 设置
Common.Suite 设置

请告知如何从文件夹 C 中选择特定的套件设置,因为我有 2 个 Common.robot 文件

谢谢

【问题讨论】:

  • 在导入 libraries 时,框架允许使用带有 WITH NAME 参数的自定义前缀来解决这种情况,但我不确定资源文件是否支持它。不过值得一试。

标签: robotframework


【解决方案1】:

Robot Framework 支持直接使用变量调用关键字。这不允许您两次导入同名的关键字,但它确实使您能够在不同的环境中让相同的测试运行不同的设置或以其他方式改变测试流程。

我使用此设置在多个不同的环境中运行同一组测试,并且由于所有环境都略有不同,因此我需要为每个环境设置不同的设置。您可以考虑以下简化示例:

# In SetupKeywords.robot

*** Keywords ***
Suite Setup A
    # do stuff

Suite Setup B
    # do stuff
# In TestSuite.robot

*** Settings ***
Resource    .\\SetupKeywords.robot

Suite Setup    Suite Setup ${ENV}

*** Test Cases ***
Test Case 1
    # do stuff

现在在运行任何测试时,只需将-v ENV:B 添加到机器人启动选项中,您将使用Suite Setup B 运行测试。测试本身将保持不变,并且不需要在设置文件中使用冲突的关键字名称。

重申一下,在启动机器人时,您的 CMD 命令如下所示:

robot -v ENV:A .\Path\to\TestSuites

当然添加您正在使用的任何其他参数。

根据您的情况进行调整,您需要将 SuiteSetup 关键字重命名为唯一名称,然后将变量添加到机器人调用中。如果您需要更强大的系统,我建议您查看 Robot Framework 用户指南中的Resource and Variable Files 部分。

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多