shell Robotframework未找到ENV-Variable

xfyts7mz  于 2023-04-12  发布在  Shell
关注(0)|答案(1)|浏览(132)

我创建了一个docker容器,其中包含一个环境变量,如下所示:
docker run -d -it --name upload-testservice-1 --env SERVICE_URL=http://localhost:9400 image
如果我在容器的shell中运行env命令,我会收到大量的env变量,其中包含所需的SERVICE_URL=http://localhost:9400
当我现在想在机器人测试中使用这个env-variable时,就像docs告诉我的那样:
${test} = Get Environment Variable SERVICE_URL
或者像这样:
${test} = %{SERVICE_URL}
我收到错误Variable '${SERVICE_URL}' not found.
你能告诉我什么是错的,我如何才能访问env变量?
我也试过:${test} = Evaluate os.environ.get("SERVICE_URL")生成相同的错误。

bpzcxfmw

bpzcxfmw1#

看上去是格式问题。
${test} = Get Environment Variable SERVICE_URLGet Environment VariableSERVICE_URL之间缺少一个``字符?http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#space-separated-format建议使用4个空格;但是,2个空格也应该足够(而不是3个)。
我不能使用Get Environment Variable;但是,我会使用“设置变量”。

*** Test Cases ***
Logging Env Var To Console
    Log To Console    %{SERVICE_URL}
    ${test}=    Set Variable    %{SERVICE_URL}
    Log To Console    ${test}

通过实现您的容器示例,使env变量作为容器环境变量(而不是robot cli的变量参数)传递,我能够获得以下输出

Logging Env Var To Console                                            http://localhost:9400
..http://localhost:9400
Logging Env Var To Console                                            | PASS |

相关问题