我遇到了这个问题,需要从不同的关键字访问变量
我尝试使用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())
输出
因此在关键字名称中,我得到的值为John
,但在关键字名称2中,值为Clair
。我需要将所有关键字的值都保留为John
。
当我尝试使用变量而不将关键字传递给关键字时,我无法全部访问。
我也尝试使用set suite variable
,但结果相同。
注意:全名关键字是一个用于获取随机名称的自定义库。这只是一个示例代码
答案 0 :(得分:0)
我找到了解决方案。我没有在测试用例中调用随机名称关键字,也没有在“变量”部分中创建一个空变量
*** 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
现在我正在获得所需的输出
答案 1 :(得分:0)
我知道您已经在两年前开始使用它,但是如果有人在这里绊倒了,我想提出一个替代方案:
*** Keywords ***
Setup: Run Keywords
Set Test Variable ${Name} Full Name
Keyword Name
Log ${Name}
Keyword Name2
Log ${Name}
*** Test Cases ***
Run Keywords
[Setup] Setup: Run Keywords
Keyword Name
Keyword Name2
使用设置,可以更好地使用适合其用法的变量。除非我有多个相互关联的测试套件,而且它们具有类似的套件设置,否则我几乎不需要使用全局变量,因此我创建了一个init.robot以使用全局变量来设置它们。