是否可以在 suite/test 设置中创建新变量 - Robot Framework?
Is possible to create new variable in suite/test set up - Robot Framework?
是否可以根据关键字的 return 值在套件或测试设置中初始化变量?我试过这种语法但没有用:
*** Settings ***
| Suite Setup | ${A variable}= | Set Variable | A String
我知道我可以调用 "Set Suite Variable" 之类的关键字,但它们不允许我将变量设置为另一个关键字的结果。我在这个例子中使用了 "Set Variable",但我希望能够在这里调用任何关键字。
严格来说,不,这是不可能的。在套件或测试设置中,您只能调用关键字,不能直接在设置语句中将变量设置为其他关键字的结果。
话虽这么说,但可以轻松创建自定义设置关键字来满足您的需求。例如:
*** Settings ***
| Suite Setup | Custom suite setup
*** Keywords ***
| Custom suite setup
| | ${A Variable}= | Set Variable | A String
| | Set suite variable | ${A Variable}
以上与机器人支持直接在设置中通过关键字设置变量具有相同的效果。当然,您可以调用任何关键字,而不仅仅是 Set Variable
。
为了扩展 Bryan 的回答并为那些对基于关键字的结果创建套件变量不特别感兴趣的人添加说明,还有其他方法可以在开始时初始化 "global" 变量机器人框架测试。
最简单的方法是将它们放在一个变量下 header。
*** Variables ***
${this_string} This String
${that_int} 5
另一种方法是将相同的变量放入 Resource .txt 文件中。一旦在*** Settings ***
下调用,变量就可以自由使用了。假设您的变量位于名为 VarList.txt
的文件中,以下代码将初始化它们:
*** Settings ***
Resource VarList.txt
如果您使用带有现有关键字和内部变量的资源文件,这也适用。
这一切都假设您需要静态变量。 Set Suite Variable 和 Set Global Variable 都可以像 Bryan 所说的那样与关键字一起使用。设置套件变量适用于具有多个测试套件的脚本,而在这种情况下应格外谨慎地使用设置全局变量。然而,在 single-Suite 脚本中,差异几乎可以忽略不计,尽管最佳实践是坚持使用 Set Suite Variable 除非你真的希望它是全局的,就在 off-chance 你决定添加该套件到一个脚本 运行 多个套件。
是否可以根据关键字的 return 值在套件或测试设置中初始化变量?我试过这种语法但没有用:
*** Settings ***
| Suite Setup | ${A variable}= | Set Variable | A String
我知道我可以调用 "Set Suite Variable" 之类的关键字,但它们不允许我将变量设置为另一个关键字的结果。我在这个例子中使用了 "Set Variable",但我希望能够在这里调用任何关键字。
严格来说,不,这是不可能的。在套件或测试设置中,您只能调用关键字,不能直接在设置语句中将变量设置为其他关键字的结果。
话虽这么说,但可以轻松创建自定义设置关键字来满足您的需求。例如:
*** Settings ***
| Suite Setup | Custom suite setup
*** Keywords ***
| Custom suite setup
| | ${A Variable}= | Set Variable | A String
| | Set suite variable | ${A Variable}
以上与机器人支持直接在设置中通过关键字设置变量具有相同的效果。当然,您可以调用任何关键字,而不仅仅是 Set Variable
。
为了扩展 Bryan 的回答并为那些对基于关键字的结果创建套件变量不特别感兴趣的人添加说明,还有其他方法可以在开始时初始化 "global" 变量机器人框架测试。
最简单的方法是将它们放在一个变量下 header。
*** Variables ***
${this_string} This String
${that_int} 5
另一种方法是将相同的变量放入 Resource .txt 文件中。一旦在*** Settings ***
下调用,变量就可以自由使用了。假设您的变量位于名为 VarList.txt
的文件中,以下代码将初始化它们:
*** Settings ***
Resource VarList.txt
如果您使用带有现有关键字和内部变量的资源文件,这也适用。
这一切都假设您需要静态变量。 Set Suite Variable 和 Set Global Variable 都可以像 Bryan 所说的那样与关键字一起使用。设置套件变量适用于具有多个测试套件的脚本,而在这种情况下应格外谨慎地使用设置全局变量。然而,在 single-Suite 脚本中,差异几乎可以忽略不计,尽管最佳实践是坚持使用 Set Suite Variable 除非你真的希望它是全局的,就在 off-chance 你决定添加该套件到一个脚本 运行 多个套件。