变量的优先级和作用域 内建变量 用户自定义关键字 变量的优先级和作用域 来自不同来源的变量具有不同的优先级,并且在不同的范围内可用。 变量的优先级 命令行中的变量 在实际测试开始执行之前,可以在 命令行 中设置的变量具有最高的优先级。它们会 覆盖 在测试用例文件中的 变量表 中以及在测试数据中 导入的资源和变量文件 中创建的可能变量。 测试用例文件中的变量表 使用测试用例文件中的 变量表 创建的变量可用于该文件中的所有测试用例。这些变量将 覆盖 导入的资源和变量文件中具有相同名称的可能变量。 导入的资源和变量文件 从资源和变量文件导入的变量在测试数据中创建的所有变量中具有 最低 的优先级。 测试执行期间设置的变量 在测试执行过程中使用关键字的返回值或使用Set Test / Suite / Global Variable关键字设置的变量始终会覆盖设置范围内可能存在的现有变量。 内置变量 ${TEMPDIR}和${TEST_NAME}等内置变量在所有变量中具有最高优先级。无法使用 变量表 或从 命令行 覆盖它们。 变量作用域 根据变量的创建位置和方式,变量可以具有全局,测试套件,测试用例或局部作用域。 全局变量 全局变量在测试数据中随处可见。 这些变量通常是在命令行中使用--variable和--variablefile选项设置的,但是也可以在测试数据中的任何位置使用BuiltIn关键字Set Global Variable创建新的全局变量或更改现有的全局变量。 另外,内置变量也是全局的。 测试套件作用域 具有测试套件范围的变量可在定义或导入测试套件的任何位置使用。 它们可以在变量表中创建,可以从资源和变量文件导入,也可以在测试执行期间使用BuiltIn关键字Set Suite Variable进行设置。 测试用例作用域 在测试用例以及测试使用的所有用户关键字中,具有测试用例范围的变量都是可见的。最初,此范围内没有变量,但是可以通过在测试用例中的任何位置使用BuiltIn关键字Set Test Variable来创建它们。 局部作用域 测试用例和用户关键字具有局部变量作用域,其他测试或关键字看不到该作用域。 可以使用已执行关键字的返回值来创建局部变量,而用户关键字也可以将其作为参数。 内建变量 用户自定义关键字