首页 > 解决方案 > Robot Framework - 如何为不同的关键字使用全局变量

问题描述

我有这个问题,我需要使变量可以从不同的关键字访问

我曾尝试使用set global variable关键字。

***Keywords***

Random Name
    ${Name}=  Full Name
    set global variable  ${Name}

Keyword Name
    Random Name
    Log  ${Name}

Keyword Name2
    Random Name
    Log  ${Name}


*** Test Cases ***
Run Keywords
    Keyword Name
    Keyword Name2

全名关键字

Import names

def Full_Name(self):

    return (names.get_first_name())

输出

在此处输入图像描述

所以在 Keyword Name 我得到的值是John,但是在 Keyword Name2 的值是Clair。我需要保留John所有关键字的值。

当我尝试使用变量而不将关键字传递给关键字时,我无法全部访问它。

我也尝试使用set suite variable,但结果相同。

注意:全名关键字是一个自定义库,用于获取随机名称。这也只是一个示例代码

标签: variablesrobotframework

解决方案


我找到了解决方案。我没有在我的测试用例中调用随机名称关键字,而且我在变量部分创建了一个空变量

 *** Variables ***
${Name}

***Keywords***

Random Name
    ${Name}=  Full Name
    set global variable  ${Name}

Keyword Name
    Log  ${Name}

Keyword Name2
    Log  ${Name}


*** Test Cases ***
Run Keywords
    Random Name
    Keyword Name
    Keyword Name2

现在我得到了期望的输出


推荐阅读