DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 1 | *** Settings *** |
| 2 | Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps |
| 3 | Library Collections |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 4 | Library OperatingSystem |
DR695H | 910097e | 2019-05-08 13:55:32 -0400 | [diff] [blame] | 5 | Library SeleniumLibrary |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 6 | Resource global_properties.robot |
| 7 | |
| 8 | *** Variables *** |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 9 | ${HEADLESS} True |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 10 | |
| 11 | *** Keywords *** |
| 12 | Setup Browser |
| 13 | [Documentation] Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER} |
| 14 | Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'firefox' Setup Browser Firefox |
| 15 | Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'chrome' Setup Browser Chrome |
| 16 | Log Running with ${GLOBAL_SELENIUM_BROWSER} |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 17 | |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 18 | Setup Browser Firefox |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 19 | ${caps}= Evaluate sys.modules['selenium.webdriver'].common.desired_capabilities.DesiredCapabilities.FIREFOX sys |
| 20 | Set To Dictionary ${caps} marionette= |
| 21 | Set To Dictionary ${caps} elementScrollBehavior 1 |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 22 | ${wd}= Create WebDriver Firefox capabilities=${caps} |
| 23 | Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${caps} |
| 24 | |
Brian Freeman | 3d2a0bc | 2020-04-11 07:28:38 -0500 | [diff] [blame] | 25 | |
DR695H | 67afaca | 2019-07-23 17:13:23 -0400 | [diff] [blame] | 26 | Setup Browser Chrome |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 27 | ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys |
| 28 | Call Method ${chrome options} add_argument no-sandbox |
Brian Freeman | 3d2a0bc | 2020-04-11 07:28:38 -0500 | [diff] [blame] | 29 | Call Method ${chrome options} add_argument ignore-certificate-errors |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 30 | Run Keyword If ${HEADLESS}==True Call Method ${chrome options} add_argument headless |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 31 | ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver |
| 32 | Set To Dictionary ${dc} elementScrollBehavior 1 |
Brian Freeman | 3d2a0bc | 2020-04-11 07:28:38 -0500 | [diff] [blame] | 33 | Set To Dictionary ${dc} ACCEPT_SSL_CERTS True |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 34 | Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc} |
| 35 | Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 36 | |
Brian Freeman | 3d2a0bc | 2020-04-11 07:28:38 -0500 | [diff] [blame] | 37 | |
| 38 | |
| 39 | |
Jerry Flood | 71b7b0f | 2017-10-02 16:25:06 -0400 | [diff] [blame] | 40 | Handle Proxy Warning |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 41 | [Documentation] Handle Intermediate Warnings from Proxies |
DR695H | 910097e | 2019-05-08 13:55:32 -0400 | [diff] [blame] | 42 | ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist ${GLOBAL_PROXY_WARNING_TITLE} |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 43 | Return From Keyword if '${status}' != 'PASS' |
DR695H | 910097e | 2019-05-08 13:55:32 -0400 | [diff] [blame] | 44 | ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist ${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} |
DR695H | ccff30b | 2017-02-17 18:44:24 -0500 | [diff] [blame] | 45 | Return From Keyword if '${status}' != 'PASS' |
| 46 | Return From Keyword if "${GLOBAL_PROXY_WARNING_TITLE}" == '' |
| 47 | Return From Keyword if "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == '' |
| 48 | ${test} ${value}= Run keyword and ignore error Title Should Be ${GLOBAL_PROXY_WARNING_TITLE} |
Brian Freeman | 3d2a0bc | 2020-04-11 07:28:38 -0500 | [diff] [blame] | 49 | Run keyword If '${test}' == 'PASS' Click Element xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} |