From 71b7b0f6c0d54e72ca1f59e8d2f90405d5cba244 Mon Sep 17 00:00:00 2001 From: Jerry Flood Date: Mon, 2 Oct 2017 16:25:06 -0400 Subject: Configure to run Robot w/chrome headless option dd Issue: TEST-58 Change-Id: I1f45477c3df947dc8812c9da55d856a9b29be65a Signed-off-by: Jerry Flood --- robot/resources/browser_setup.robot | 30 ++++++++++++++++++------------ setup.sh | 2 +- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/robot/resources/browser_setup.robot b/robot/resources/browser_setup.robot index 6ef4f726..5d34d3de 100644 --- a/robot/resources/browser_setup.robot +++ b/robot/resources/browser_setup.robot @@ -7,6 +7,7 @@ Library ExtendedSelenium2Library Resource global_properties.robot *** Variables *** +${HEADLESS} True *** Keywords *** Setup Browser @@ -14,28 +15,33 @@ Setup Browser Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'firefox' Setup Browser Firefox Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'chrome' Setup Browser Chrome Log Running with ${GLOBAL_SELENIUM_BROWSER} - + + Setup Browser Firefox - ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX sys, selenium.webdriver - Set To Dictionary ${dc} elementScrollBehavior 1 - Create Webdriver Firefox desired_capabilities=${dc} - Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} - + ${caps}= Evaluate sys.modules['selenium.webdriver'].common.desired_capabilities.DesiredCapabilities.FIREFOX sys + Set To Dictionary ${caps} marionette= + Set To Dictionary ${caps} elementScrollBehavior 1 + # TODO + # Figure out how to run FF headless without Xvfb + ${wd}= Create WebDriver Firefox capabilities=${caps} + Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${caps} + Setup Browser Chrome - ${os}= Get Normalized Os + ${os}= Get Normalized Os Log Normalized OS=${os} ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys Call Method ${chrome options} add_argument no-sandbox + Run Keyword If ${HEADLESS}==True Call Method ${chrome options} add_argument headless ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver Set To Dictionary ${dc} elementScrollBehavior 1 - Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc} - Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} + Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc} + Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} -Handle Proxy Warning +Handle Proxy Warning [Documentation] Handle Intermediate Warnings from Proxies - ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_TITLE} + ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_TITLE} Return From Keyword if '${status}' != 'PASS' - ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} + ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} Return From Keyword if '${status}' != 'PASS' Return From Keyword if "${GLOBAL_PROXY_WARNING_TITLE}" == '' Return From Keyword if "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == '' diff --git a/setup.sh b/setup.sh index d89fd02f..16a3e163 100644 --- a/setup.sh +++ b/setup.sh @@ -73,7 +73,7 @@ cd $path # # Get the appropriate chromedriver. Default to linux64 # -CHROMEDRIVER_URL=http://chromedriver.storage.googleapis.com/2.27 +CHROMEDRIVER_URL=http://chromedriver.storage.googleapis.com/2.29 CHROMEDRIVER_ZIP=chromedriver_linux64.zip # Handle mac and windows -- cgit 1.2.3-korg