| *** Settings *** |
| Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps |
| Library Collections |
| Library OSUtils |
| Library OperatingSystem |
| Library ExtendedSelenium2Library |
| Resource global_properties.robot |
| |
| *** Variables *** |
| ${HEADLESS} True |
| |
| *** Keywords *** |
| Setup Browser |
| [Documentation] Sets up browser based upon the value of ${GLOBAL_SELENIUM_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 |
| ${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 |
| 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} |
| |
| Handle Proxy Warning |
| [Documentation] Handle Intermediate Warnings from Proxies |
| ${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} |
| Return From Keyword if '${status}' != 'PASS' |
| Return From Keyword if "${GLOBAL_PROXY_WARNING_TITLE}" == '' |
| Return From Keyword if "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == '' |
| ${test} ${value}= Run keyword and ignore error Title Should Be ${GLOBAL_PROXY_WARNING_TITLE} |
| Run keyword If '${test}' == 'PASS' Click Element xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} |