之前已經成功開發出Firefox for headless and Chrome for headless的兩個keyword了,但由於未能整合成一個可以透過參數指定要開啟哪種headless browsers的窘境,所以這邊V2版提出一個新的整合版的Open HeadLess Browsers By Name,內中提供參數可以指定要用Chrome/Firefox/PhantomJS哪一種headless browser,這樣所有test case便可以透過該一keyword的參數來切換要使用哪一種headless browser作為Web UI測試的瀏覽器了。

Library           Selenium2Library

 

Open HeadLess Browsers By Name

    [Arguments]    ${argBROWSER}    ${argURL}    ${argDELAY}=0.5s

    [Documentation]    Opens one of:

    ...    - Google Chrome

    ...    - Mozilla Firefox

    ...    - Microsoft Internet Explorer

    ...    to a given web page.

    Run Keyword If    '${argBROWSER}'=='Chrome'    Open Chrome HeadLess Browsers    ${argURL}

    ...    ELSE IF    '${argBROWSER}'=='Firefox'    Open FireFox HeadLess Browsers    ${argURL}

    ...    ELSE IF    '${argBROWSER}'=='PhantomJS'    Open PhantomJS HeadLess Browsers    ${argURL}

 Set Selenium Speed    ${argDELAY}

 

  此外也意外發現網路上有人針快跨平台的open chrome browser作改良,所以我也順便套進我的Open Chrome HeadLess Browsers 之中,主要是透過判斷os.sep是否為斜線來確定使用的OS platform( 斜線為Unix Base OS),如果是Unix Base OS就再透過executable_path指定chrome webdriver執行檔的路徑。

Library           Selenium2Library

 

Open HeadLess Browsers By Name

    [Arguments]    ${argBROWSER}    ${argURL}    ${argDELAY}=0.5s

    [Documentation]    Opens one of:

    ...    - Google Chrome

    ...    - Mozilla Firefox

    ...    - PhantomJS

    Run Keyword If    '${argBROWSER}'=='Chrome'    Open Chrome HeadLess Browsers    ${argURL}

    ...    ELSE IF    '${argBROWSER}'=='Firefox'    Open FireFox HeadLess Browsers    ${argURL}

    ...    ELSE IF    '${argBROWSER}'=='PhantomJS'    Open PhantomJS HeadLess Browsers    ${argURL}

 Set Selenium Speed    ${argDELAY}

 

  最後補上Open Chrome HeadLess Browsers Keyword 到我的Open HeadLess Browsers By Name清單中,這樣就可以切換三種Headless Browsers了。

Library           Selenium2Library

 

Open PhantomJS HeadLess Browsers

    [Arguments]    ${argURL}

    Create Webdriver    PhantomJS

 Set Window Size    1280    768

 Go To    ${argURL}

 

 

201898日星期六

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()