Configure to run Robot w/chrome headless option dd
Issue: TEST-58
Change-Id: I1f45477c3df947dc8812c9da55d856a9b29be65a
Signed-off-by: Jerry Flood <jf9860@att.com>
diff --git a/robot/resources/browser_setup.robot b/robot/resources/browser_setup.robot
index 6ef4f72..5d34d3d 100644
--- a/robot/resources/browser_setup.robot
+++ b/robot/resources/browser_setup.robot
@@ -7,6 +7,7 @@
Resource global_properties.robot
*** Variables ***
+${HEADLESS} True
*** Keywords ***
Setup Browser
@@ -14,28 +15,33 @@
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 d89fd02..16a3e16 100644
--- a/setup.sh
+++ b/setup.sh
@@ -73,7 +73,7 @@
#
# 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