Docker CI: 配置 RF 以 headless 方式启动浏览器

问题:后期要通过 Jenkins 集成,所以配置 RF 以 headless 方式启动浏览器

一、概述

基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, UI/Selenium, Robotframework, Grid Server, Appium 等。
在这里插入图片描述

二、headless 启动方式

1. 思路

  1. Set Environment Variable U_WEB_DEBUG FALSE # TRUE时,浏览器可见
  2. 通过 Selenium webdriver 的 ChromeOptions() 参数,配置 headless 模式
  3. headless 方式启动浏览器

2. 关键字:GUI_Open_Broswer

GUI_Open_Broswer
    [Arguments]    ${broswer}=%{U_CUSTOME_BROSWER_TYPE}
    [Documentation]    | 关键字 | 打开浏览器 |
    ...    | 功能 | 打开浏览器并检查title |
    [Timeout]    5 minutes
    #Author: Allan
    log    ${broswer}
    Close All Browsers
    ${web_domain}    Set Variable If    '%{U_WEB_TESTING_TPYE}'=='offline'    %{G_PROD_DOMAIN_OFFLINE}    %{G_PROD_DOMAIN_ONLINE}
    # 配置 headless 启动方式
    ${chrome_options}    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}    add_argument    headless
    Call Method    ${chrome_options}    add_argument    disable-gpu
    ${options}    Run Keyword If    '%{U_WEB_DEBUG}'=='FALSE'    Call Method    ${chrome_options}    to_capabilities
    ...    ELSE    Set Variable    None
    # 打开首页
    Open Browser    ${web_domain}    browser=${broswer}    desired_capabilities=${options}
    Run Keyword If    '%{G_SYSTEM_PLATFORM}'=='Windows' or '%{U_WEB_DEBUG}'=='TRUE'    Maximize Browser Window
    ...    ELSE    Set Window Size    1680    1050
    Capture Page Screenshot
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章