Robot Framework 从测试套件元数据访问关键字

Robot Framework accessing a keyword from test suite Metadata

我想为测试套件中的每个测试设置一个简单的计算机名称报告, 所以我创建了以下简单的机器人 __init__.robot 文件:

*** Settings ***
Metadata        Executed At    Get Environment Variable   COMPUTERNAME
Library         OperatingSystem

问题是 Get Environment Variable 被翻译成字符串,而不是用参数 COMPUTERNAME

调用关键字 Get Environment Variable

输入的日志是: Executed At: Get Environment Variable COMPUTERNAME

问题: 如何从设置中调用某些关键字 Metadata?

如果您问的是如何在 Metadata 设置中调用关键字,答案是不能。但是,您可以 做的是调用设置元数据的关键字。但是,在 Metadata 设置中,您只能定义字符串。

通过关键字设置元数据有两个步骤:首先,调用关键字并保存 return 值,然后调用 Set Suite Metadata 关键字。您可以通过创建自定义关键字在套件设置中执行此操作:

*** Settings ***
Suite setup    Initialize Metadata

*** Keywords ***
Initialize Metadata
    ${data}=  Get environment variable   COMPUTERNAME
    Set suite metadata    Executed At    ${data} 

如果您的真正问题只是您想根据环境变量设置元数据,请使用 environment variable syntax:

*** Settings ***
Metadata    %{COMPUTERNAME}