1*** Settings *** 2Documentation This is a resource file containing user-defined keywords for new Vue based OpenBMC GUI. 3 4Library XvfbRobot 5Library SeleniumLibrary 6Library SSHLibrary 30 Seconds 7Resource ../../lib/state_manager.robot 8Variables ../data/gui_variables.py 9 10 11*** Variables *** 12${obmc_gui_url} https://${OPENBMC_HOST} 13 14# Default GUI browser and mode is set to "Firefox" and "headless" 15# respectively here. 16${GUI_BROWSER} ff 17${GUI_MODE} headless 18 19${CMD_INTERNAL_FAILURE} busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging 20... xyz.openbmc_project.Logging.Create Create ssa{ss} xyz.openbmc_project.Common.Error.InternalFailure 21... xyz.openbmc_project.Logging.Entry.Level.Error 0 22 23 24*** Keywords *** 25 26Open Browser With URL 27 [Documentation] Open browser with specified URL and returns browser id. 28 [Arguments] ${URL} ${browser}=ff ${mode}=${GUI_MODE} 29 30 # Description of argument(s): 31 # URL Openbmc GUI URL to be open 32 # (e.g. https://openbmc-test.mybluemix.net/#/login). 33 # browser Browser used to open above URL 34 # (e.g. gc for google chrome, ff for firefox). 35 # mode Browser opening mode(e.g. headless, header). 36 37 ${browser_ID}= Run Keyword If '${mode}' == 'headless' 38 ... Launch Headless Browser ${URL} ${browser} 39 ... ELSE Open Browser ${URL} ${browser} 40 41 [Return] ${browser_ID} 42 43 44Launch Header Browser 45 [Documentation] Open the browser with the URL and 46 ... login on windows platform. 47 [Arguments] ${browser_type}=${GUI_BROWSER} 48 49 # Description of argument(s): 50 # browser_type Type of browser (e.g. "firefox", "chrome", etc.). 51 52 ${BROWSER_ID}= Open Browser ${obmc_gui_url} ${browser_type} 53 Maximize Browser Window 54 Set Global Variable ${BROWSER_ID} 55 56 57Launch Headless Browser 58 [Documentation] Launch headless browser. 59 [Arguments] ${URL}=${obmc_gui_url} ${browser}=${GUI_BROWSER} 60 61 # Description of argument(s): 62 # URL Openbmc GUI URL to be open 63 # (e.g. https://openbmc-test.mybluemix.net/#/login). 64 # browser Browser to open given URL in headless way 65 # (e.g. gc for google chrome, ff for firefox). 66 67 Start Virtual Display 68 ${browser_ID}= Open Browser ${URL} 69 Set Window Size 1920 1080 70 71 [Return] ${browser_ID} 72 73 74Launch Browser And Login GUI 75 [Documentation] Launch browser and login to OpenBMC GUI. 76 77 Open Browser With URL ${obmc_gui_url} 78 Login GUI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} 79 80 81Login GUI 82 [Documentation] Login to OpenBMC GUI. 83 [Arguments] ${username}=${OPENBMC_USERNAME} ${password}=${OPENBMC_PASSWORD} 84 85 # Description of argument(s): 86 # username The username to be used for login. 87 # password The password to be used for login. 88 89 Go To ${obmc_gui_url} 90 Wait Until Element Is Enabled ${xpath_textbox_username} 91 Input Text ${xpath_textbox_username} ${username} 92 Input Password ${xpath_textbox_password} ${password} 93 Click Element ${xpath_login_button} 94 Wait Until Page Contains Overview timeout=60s 95 96 97Logout GUI 98 [Documentation] Logout of OpenBMC GUI. 99 100 Click Element ${xpath_root_button_menu} 101 Click Element ${xpath_logout_button} 102 Wait Until Page Contains Element ${xpath_login_button} 103 104 105Generate Test Error Log 106 [Documentation] Generate test error log. 107 108 BMC Execute Command ${CMD_INTERNAL_FAILURE} 109 110 111Set Timezone In Profile Settings Page 112 [Documentation] Set the given timezone in profile settings page. 113 [Arguments] ${timezone}=Default 114 115 # Description of argument(s): 116 # timezone Timezone to select (eg. Default or Browser_offset). 117 118 Wait Until Page Contains Element ${xpath_root_button_menu} 119 Click Element ${xpath_root_button_menu} 120 Click Element ${xpath_profile_settings} 121 Click Element At Coordinates ${xpath_default_UTC} 0 0 122 Click Element ${xpath_profile_save_button} 123 124 125Refresh GUI 126 [Documentation] Refresh GUI via refresh button in header. 127 128 Click Element ${xpath_refresh_button} 129 # Added delay for page to load fully after refresh. 130 Sleep 5s 131 132 133Refresh GUI And Verify Element Value 134 [Documentation] Refresh GUI using refresh button and verify that given element contains expected value. 135 [Arguments] ${element} ${expected_value} 136 137 # Description of argument(s): 138 # element Element whose value need to be checked. 139 # expected_value Expected value of for the given element. 140 141 # Refresh GUI. 142 143 Click Element ${xpath_refresh_button} 144 145 # Check element value and verify that it contains expected value. 146 ${element_value}= Get Text ${element} 147 Log ${element_value} 148 Should Contain ${element_value} ${expected_value} 149 150 151Reboot BMC via GUI 152 [Documentation] Reboot BMC via GUI. 153 154 Click Element ${xpath_operations_menu} 155 Click Element ${xpath_reboot_bmc_sub_menu} 156 Click Button ${xpath_reboot_bmc_button} 157 Click Button ${xpath_confirm_bmc_reboot} 158 Wait Until Keyword Succeeds 2 min 10 sec Is BMC Unpingable 159 Wait For Host To Ping ${OPENBMC_HOST} 1 min 160