Robotframework 如何在robot框架中参数化Open Browser关键字以从命令行运行headless?

Robotframework 如何在robot框架中参数化Open Browser关键字以从命令行运行headless?,robotframework,Robotframework,打开浏览器${REMOTE_URL}${HEADLESS} 我想通过命令行将headlesschrome值传递给openbrowser关键字如果您想让chrome headless正常工作,下面的代码应该正常工作。 当您想要参数化时,则禁止此文档- 创建所有变量并将其存储在一个文件中,然后在调用以下任何代码时使用以下语法,或者从命令行传递相应的name:value(如下所示),以便在robot代码中使用相同的值 robot -v <<variable file>> *.r

打开浏览器${REMOTE_URL}${HEADLESS}


我想通过命令行将headlesschrome值传递给openbrowser关键字

如果您想让chrome headless正常工作,下面的代码应该正常工作。 当您想要参数化时,则禁止此文档-

创建所有变量并将其存储在一个文件中,然后在调用以下任何代码时使用以下语法,或者从命令行传递相应的name:value(如下所示),以便在robot代码中使用相同的值

robot -v <<variable file>> *.robot

OR

robot -v name:value *.robot
代码

使用OpenBrowser Headless

*** Settings ***
Library  Selenium2Library

*** Test Cases ***
Test title
    ${options}=  Evaluate  sys.modules['selenium.webdriver'].ChromeOptions()  sys, selenium.webdriver
    Call Method    ${options}    add_argument    --headless
    #my_create_webdriver   Chrome  ${options}
    Open Browser    http://google.com       Headless Chrome
#    create webdriver  Chrome  chrome_options=${options}
    Maximize Browser Window
    go to   https://google.com
    Maximize Browser Window
    capture page screenshot
    close browser
输出

更好的方法

Xvfb是X窗口系统的无头显示服务器,如果让chrome/firefox运行无头,为什么不使用下面的方法呢

安装Robot框架的XvfbRobot库,这是一个用于创建虚拟显示的Robot库,可用于在无头模式下运行selenium测试

pip install robotframework-xvfb
范例

*** Settings ***
Documentation     This example demonstrates how to use current library
Library      Selenium2Library
Library      XvfbRobot

*** Test Cases ***
Create Headless Browser
    Start Virtual Display    1920    1080
    Open Browser   http://google.com
    Set Window Size    1920    1080
    ${title}=    Get Title
    Should Be Equal    Google    ${title}
    [Teardown]    Close Browser


你能检查一下下面的表吗。我是否可以从终端参数化Xvfb?例如:robot-variable BROWSER:headlesschrome tests.robot您需要遵循链接中提到的相同步骤。您将能够做到这一点,只需遵循代码。
(rf2) C:\Users\kgurupra>robot sa.robot
==============================================================================
Sa
==============================================================================
Test title                                                            ..
DevTools listening on ws://127.0.0.1:54461/devtools/browser/ff94b77f-b963-428f-835e-f5e1932a1915
Test title                                                            | PASS |
------------------------------------------------------------------------------
Sa                                                                    | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\kgurupra\output.xml
Log:     C:\Users\kgurupra\log.html
Report:  C:\Users\kgurupra\report.html

pip install robotframework-xvfb
*** Settings ***
Documentation     This example demonstrates how to use current library
Library      Selenium2Library
Library      XvfbRobot

*** Test Cases ***
Create Headless Browser
    Start Virtual Display    1920    1080
    Open Browser   http://google.com
    Set Window Size    1920    1080
    ${title}=    Get Title
    Should Be Equal    Google    ${title}
    [Teardown]    Close Browser