测试用例模块中机器人框架中的变量声明和初始化

Variable Declaration and Initialization in Robot Framework within a Test Cases block

提问人:B.Balamanigandan 提问时间:6/26/2017 最后编辑:Bryan OakleyB.Balamanigandan 更新时间:8/12/2019 访问量:75876

问:

我尝试使用 Selenium 平台在 Robot Framework 中声明和初始化变量。但是我收到一个错误关键字名称不能为空。

我尝试了以下代码

整数

*** Test Cases ***
Test Case 1
    ${item}       ${0}  # ${}

布尔值

*** Test Cases ***
Test Case 2
    ${item}    ${true}    #${}

字符串

*** Test Cases ***
Test Case 3
    ${item}    Stackoverflow

请帮助我如何在机器人框架的测试用例块中声明和初始化变量。

回复 @Goralight

我收到错误

enter image description here

机器人框架

评论


答:

23赞 Goralight 6/26/2017 #1

您需要使用 Keyword 将值分配给变量标头之外的变量:Set Variable

*** Test Cases ***
Test Case 1
    ${item}    Set Variable    ${0}    #${}

    ${item}    Set Variable    ${true}    #${}

    ${item}    Set Variable    Stackoverflow

上面将您在测试用例中给出的变量分配给正确的值。(当然,每次都会覆盖)但这会将值分配给 var .${item}${item}

在此处阅读有关它的文档

如有任何问题,请:)提问

评论

0赞 B.Balamanigandan 6/26/2017
我收到错误。请参考问题,我附上了一个错误的屏幕截图。
0赞 Goralight 6/26/2017
我看不到图像..你能发布错误吗?
0赞 B.Balamanigandan 6/26/2017
${item} Set Variable ${0} #${} => ${0}
0赞 Goralight 6/26/2017
对我来说,它将其设置为 .这是因为您尚未将变量设置为任何内容。你有没有试过运行它,看看会发生什么?对我来说,它通过了。您需要先给出一个值,然后才能使用它,因此请使用与答案相同的方法或在变量标头中分配它0${0}${0}
3赞 Bryan Oakley 6/26/2017
@B.Balamanigandan:仔细观察错误。它不是告诉你不存在,而是告诉你不存在。看起来你之间只有一个空格,所以它认为整组字符都是一个变量。${0}${0} #${}${0}#${}
2赞 Atiq 8/12/2019 #2

在我看来,以下是一种更具可读性的方法:

*** Test Cases ***
Test Case 1

    ${item} =    Set Variable    ${0}            #${}

    ${item} =    Set Variable    ${true}         #${}

    ${item} =    Set Variable    Stackoverflow

如果执行以下操作,将出现错误:

    ${item} =   Stackoverflow

原因是此作业需要在右侧显示关键字。Stackoverflow

这是此类分配的一个工作示例。

*** Test Cases ***
Test Case 1
    ${item} =    Get My Value
    Log          ${item}

*** Keywords ***
Get My Value
    ${my text} =    Set Variable    Stackoverflow
    [return]        ${my text}