Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Robotframework 您可以使用Robot框架在运行时声明变量吗_Robotframework - Fatal编程技术网

Robotframework 您可以使用Robot框架在运行时声明变量吗

Robotframework 您可以使用Robot框架在运行时声明变量吗,robotframework,Robotframework,我目前有一系列功能测试,我希望能够在运行时声明2个选项中的1个。这些测试目前正在使用XVFB并无头运行 操作浏览器的当前代码为: Start Virtual Display and enter the URL [Documentation] Test creates virtual display using XVFB [Arguments] ${URL} start virtual display 1440 900 Open Browser ${U

我目前有一系列功能测试,我希望能够在运行时声明2个选项中的1个。这些测试目前正在使用XVFB并无头运行

操作浏览器的当前代码为:

Start Virtual Display and enter the URL
    [Documentation]  Test creates virtual display using XVFB
    [Arguments]    ${URL}
    start virtual display  1440  900
    Open Browser  ${URL}
    set window size  1440  900
    sleep  ${delay}
如果我注释掉
start virtual display 1440 900
步骤,测试用例将自动调用本机浏览器来执行测试步骤


我希望有一种“简单的方法”来注释或取消注释
启动虚拟显示
测试步骤-也许可以将其声明为变量?

您可以从命令行设置变量:

这还不够吗

根据您的代码示例进行编辑:

Start Virtual Display and enter the URL
    [Documentation]  Test creates virtual display using XVFB
    [Arguments]    ${URL}
    Run Keyword If    '${vd}' == 'TRUE'    Start Virtual Display    1440    900
    Open Browser    ${URL}
    Set Window Size    1440    900
    Sleep    ${delay}

然后用
--variable vd:TRUE

调用测试。您可以从命令行设置变量:

这还不够吗

根据您的代码示例进行编辑:

Start Virtual Display and enter the URL
    [Documentation]  Test creates virtual display using XVFB
    [Arguments]    ${URL}
    Run Keyword If    '${vd}' == 'TRUE'    Start Virtual Display    1440    900
    Open Browser    ${URL}
    Set Window Size    1440    900
    Sleep    ${delay}

然后用
--variable vd:TRUE

调用您的测试。在更新的问题中,我认为您正在寻找
Run关键字If
功能,该功能允许您在启动RF时使用命令行上指定的变量值来确定脚本的执行。更多关于Run关键字If的信息,请参见更新后的问题。在我看来,您正在寻找
Run关键字If
功能,该功能允许您在启动RF时使用命令行上指定的变量值来确定脚本的执行。有关Run关键字If的更多信息,请参见

您可以创建两个测试用例,第一个没有启动虚拟显示1440 900。
另一个测试设置为使用启动虚拟显示1440 900关键字您可以创建两个测试用例,第一个没有启动虚拟显示1440 900
您设置的另一个测试将使用启动虚拟显示1440 900关键字

抱歉-我没有很好地描述我的实际场景-将修改我的原始问题以澄清。答案扩展。谢谢Jan!这正是我想要做的,但是现在唯一剩下的问题是通过在Jenkins中运行的bash脚本传递该变量。我可以想象你会为这两个选项设置两个计划(或者一个计划有两个配置?)。对不起,我没有很好地描述我的实际情况。将修改我原来的问题以澄清。回答扩展。谢谢Jan!这正是我想要做的,但是现在唯一剩下的问题是通过在Jenkins中运行的bash脚本传递该变量。我可以想象你会为这两个选项设置两个计划(或者一个计划有两个配置?)。