Robot Framework同文件跨测试用例读取环境变量失败如何解决?
Robot Framework同文件测试用例间共享环境变量的解决方法
Robot Framework默认会在每个测试用例执行前后重置环境变量,导致单个测试用例内设置的环境变量无法被其他测试用例读取,以下是几种可行的解决方式:
方式一:通过Suite Setup全局设置
在套件初始化阶段就设置好环境变量,这样当前.robot文件内的所有测试用例都能直接访问:
*** Settings *** Library OperatingSystem Suite Setup Set Environment Variable MY_CUSTOM_ENV demo_value *** Test Cases *** 测试用例1 Log ${MY_CUSTOM_ENV} # 正常读取环境变量 测试用例2 Log ${MY_CUSTOM_ENV} # 同样可读取该变量
方式二:将环境变量值存入套件/全局变量
如果必须在某个测试用例中设置环境变量,可将其值保存到套件变量中,实现跨测试用例共享:
*** Settings *** Library OperatingSystem *** Variables *** ${SUITE_SHARED_VAR} ${EMPTY} *** Test Cases *** 测试用例1 Set Environment Variable MY_CUSTOM_ENV demo_value Set Suite Variable ${SUITE_SHARED_VAR} ${MY_CUSTOM_ENV} # 存入套件变量 测试用例2 # 直接读取套件变量 Log ${SUITE_SHARED_VAR} # 若需要恢复环境变量(因测试用例执行后可能被重置) Set Environment Variable MY_CUSTOM_ENV ${SUITE_SHARED_VAR} Log ${MY_CUSTOM_ENV}
注意事项
- 尽量避免依赖测试用例的执行顺序,优先使用Suite Setup提前初始化环境变量,保障用例独立性。
- 若需要跨多个.robot文件共享,可使用
Set Global Variable替代Set Suite Variable。
内容的提问来源于stack exchange,提问作者Swostika Magar
相关产品推荐
相关产品推荐

