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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章