如何设置变量以在不同的测试套件中使用?

1 投票
4 回答
568 浏览
提问于 2025-04-18 17:48

我需要在测试套件#1中设置一个变量,然后在测试套件#2中使用这个变量。

我们有没有什么关键词可以做到这一点?可以在命令行中导出这个变量吗?

4 个回答

0

如果你打算做一个大项目,并且需要管理很多不同版本的变量或参数,我们可以通过以下方式来解决这个问题:

PyPI: robotframework-testsuitesmanagement

文档: robotframework-testsuitesmanagement 文档

0

请查看下面的代码示例-

*** Settings ***
Library     BuiltIn

*** Test Cases ***
TC1
    .....
    ${test}=    ${temp}
    Set Global Variable      ${test} 
TC2    
    Log to Console    \n Global variable value is ${test}

参考链接:https://robotframework.org/robotframework/latest/libraries/BuiltIn.html

3

这样做其实不是个好主意,因为你会让两个测试套件之间产生依赖关系,还得依赖于它们运行的顺序。

不过,还是有几种方法可以实现这个目标。

使用全局变量

第一种方法是使用内置库中的 设置全局变量 这个关键词。

| | Set global variable | ${foobar} | this is foobar

设置环境变量

第二种方法是设置一个 环境变量,这样可以在两个测试套件之间共享,使用 操作系统 库来实现。

suite1.robot

*** Settings ***
| Library | Operating System

*** Test Case ***
| Save a variable that other suites can see
| | Set environment variable | foobar | this is foobar

suite2.robot

*** Settings ***
| Library | OperatingSystem

*** Test Cases ***
| Use a variable from another suite
| | Should be equal | %{foobar} | this is foobar

注意这里用的是 % 来访问变量,而不是 $。你也可以使用 获取环境变量 来获取一个或多个变量的值。

3

使用内置的 设置全局变量。虽然尽量避免使用这个功能,但在某些情况下是必须的。

Set Global Variable    ${MYPROJ_ADMIN_PASSWORD}    supersecret123

撰写回答