之前已經成功開發出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} |
2018年9月8日星期六