141747da7SRahul Maheshwari*** Settings *** 241747da7SRahul MaheshwariDocumentation This is a resource file containing user-defined keywords for new Vue based OpenBMC GUI. 341747da7SRahul Maheshwari 441747da7SRahul MaheshwariLibrary XvfbRobot 541747da7SRahul MaheshwariLibrary SeleniumLibrary 641747da7SRahul MaheshwariLibrary SSHLibrary 30 Seconds 741747da7SRahul MaheshwariResource ../../lib/state_manager.robot 841747da7SRahul MaheshwariVariables ../data/gui_variables.py 941747da7SRahul Maheshwari 1041747da7SRahul Maheshwari 1141747da7SRahul Maheshwari*** Variables *** 1241747da7SRahul Maheshwari${obmc_gui_url} https://${OPENBMC_HOST} 1341747da7SRahul Maheshwari 144d4ef99fSGeorge Keishing# Default GUI browser and mode is set to "Firefox" and "headless" 1541747da7SRahul Maheshwari# respectively here. 1641747da7SRahul Maheshwari${GUI_BROWSER} ff 1741747da7SRahul Maheshwari${GUI_MODE} headless 1841747da7SRahul Maheshwari 1941747da7SRahul Maheshwari 2041747da7SRahul Maheshwari*** Keywords *** 2141747da7SRahul Maheshwari 2241747da7SRahul MaheshwariOpen Browser With URL 2341747da7SRahul Maheshwari [Documentation] Open browser with specified URL and returns browser id. 2441747da7SRahul Maheshwari [Arguments] ${URL} ${browser}=ff ${mode}=${GUI_MODE} 2541747da7SRahul Maheshwari 2641747da7SRahul Maheshwari # Description of argument(s): 2741747da7SRahul Maheshwari # URL Openbmc GUI URL to be open 2841747da7SRahul Maheshwari # (e.g. https://openbmc-test.mybluemix.net/#/login). 2941747da7SRahul Maheshwari # browser Browser used to open above URL 3041747da7SRahul Maheshwari # (e.g. gc for google chrome, ff for firefox). 3141747da7SRahul Maheshwari # mode Browser opening mode(e.g. headless, header). 3241747da7SRahul Maheshwari 3341747da7SRahul Maheshwari ${browser_ID}= Run Keyword If '${mode}' == 'headless' 3441747da7SRahul Maheshwari ... Launch Headless Browser ${URL} ${browser} 3541747da7SRahul Maheshwari ... ELSE Open Browser ${URL} ${browser} 3641747da7SRahul Maheshwari 3741747da7SRahul Maheshwari [Return] ${browser_ID} 3841747da7SRahul Maheshwari 3941747da7SRahul Maheshwari 4041747da7SRahul MaheshwariLaunch Header Browser 4141747da7SRahul Maheshwari [Documentation] Open the browser with the URL and 4241747da7SRahul Maheshwari ... login on windows platform. 4341747da7SRahul Maheshwari [Arguments] ${browser_type}=${GUI_BROWSER} 4441747da7SRahul Maheshwari 4541747da7SRahul Maheshwari # Description of argument(s): 4641747da7SRahul Maheshwari # browser_type Type of browser (e.g. "firefox", "chrome", etc.). 4741747da7SRahul Maheshwari 4841747da7SRahul Maheshwari ${BROWSER_ID}= Open Browser ${obmc_gui_url} ${browser_type} 4941747da7SRahul Maheshwari Maximize Browser Window 5041747da7SRahul Maheshwari Set Global Variable ${BROWSER_ID} 5141747da7SRahul Maheshwari 5241747da7SRahul Maheshwari 5341747da7SRahul MaheshwariLaunch Headless Browser 5441747da7SRahul Maheshwari [Documentation] Launch headless browser. 5541747da7SRahul Maheshwari [Arguments] ${URL}=${obmc_gui_url} ${browser}=${GUI_BROWSER} 5641747da7SRahul Maheshwari 5741747da7SRahul Maheshwari # Description of argument(s): 5841747da7SRahul Maheshwari # URL Openbmc GUI URL to be open 5941747da7SRahul Maheshwari # (e.g. https://openbmc-test.mybluemix.net/#/login). 6041747da7SRahul Maheshwari # browser Browser to open given URL in headless way 6141747da7SRahul Maheshwari # (e.g. gc for google chrome, ff for firefox). 6241747da7SRahul Maheshwari 6341747da7SRahul Maheshwari Start Virtual Display 6441747da7SRahul Maheshwari ${browser_ID}= Open Browser ${URL} 6541747da7SRahul Maheshwari Set Window Size 1920 1080 6641747da7SRahul Maheshwari 6741747da7SRahul Maheshwari [Return] ${browser_ID} 6841747da7SRahul Maheshwari 6941747da7SRahul Maheshwari 7041747da7SRahul MaheshwariLaunch Browser And Login GUI 7141747da7SRahul Maheshwari [Documentation] Launch browser and login to OpenBMC GUI. 7241747da7SRahul Maheshwari 7341747da7SRahul Maheshwari Open Browser With URL ${obmc_gui_url} 7441747da7SRahul Maheshwari Login GUI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} 7541747da7SRahul Maheshwari 7641747da7SRahul Maheshwari 7741747da7SRahul MaheshwariLogin GUI 7841747da7SRahul Maheshwari [Documentation] Login to OpenBMC GUI. 7941747da7SRahul Maheshwari [Arguments] ${username}=${OPENBMC_USERNAME} ${password}=${OPENBMC_PASSWORD} 8041747da7SRahul Maheshwari 8141747da7SRahul Maheshwari # Description of argument(s): 8241747da7SRahul Maheshwari # username The username to be used for login. 8341747da7SRahul Maheshwari # password The password to be used for login. 8441747da7SRahul Maheshwari 8541747da7SRahul Maheshwari Go To ${obmc_gui_url} 8641747da7SRahul Maheshwari Wait Until Element Is Enabled ${xpath_textbox_username} 8741747da7SRahul Maheshwari Input Text ${xpath_textbox_username} ${username} 8841747da7SRahul Maheshwari Input Password ${xpath_textbox_password} ${password} 8941747da7SRahul Maheshwari Click Element ${xpath_login_button} 907ae30a48SRahul Maheshwari Wait Until Page Contains Overview timeout=60s 9141747da7SRahul Maheshwari 9241747da7SRahul Maheshwari 9341747da7SRahul MaheshwariLogout GUI 9441747da7SRahul Maheshwari [Documentation] Logout of OpenBMC GUI. 9541747da7SRahul Maheshwari 96a9d9341cSshrsuman123 Click Element ${xpath_root_button_menu} 9741747da7SRahul Maheshwari Click Element ${xpath_logout_button} 9841747da7SRahul Maheshwari Wait Until Page Contains Element ${xpath_login_button} 9941747da7SRahul Maheshwari 10041747da7SRahul Maheshwari 10141747da7SRahul MaheshwariGenerate Test Error Log 10241747da7SRahul Maheshwari [Documentation] Generate test error log. 10341747da7SRahul Maheshwari 104*ae6a3c23Srramyasr-in BMC Execute Command ${CMD_UNRECOVERABLE_ERROR} 10554edcbcfSAnusha Dathatri 10654edcbcfSAnusha Dathatri 10754edcbcfSAnusha DathatriSet Timezone In Profile Settings Page 10854edcbcfSAnusha Dathatri [Documentation] Set the given timezone in profile settings page. 10954edcbcfSAnusha Dathatri [Arguments] ${timezone}=Default 11054edcbcfSAnusha Dathatri 11154edcbcfSAnusha Dathatri # Description of argument(s): 11254edcbcfSAnusha Dathatri # timezone Timezone to select (eg. Default or Browser_offset). 11354edcbcfSAnusha Dathatri 11454edcbcfSAnusha Dathatri Wait Until Page Contains Element ${xpath_root_button_menu} 11554edcbcfSAnusha Dathatri Click Element ${xpath_root_button_menu} 11654edcbcfSAnusha Dathatri Click Element ${xpath_profile_settings} 11754edcbcfSAnusha Dathatri Click Element At Coordinates ${xpath_default_UTC} 0 0 11854edcbcfSAnusha Dathatri Click Element ${xpath_profile_save_button} 11990c6a81cSAshwini Chandrappa 12090c6a81cSAshwini Chandrappa 12190c6a81cSAshwini ChandrappaRefresh GUI 12290c6a81cSAshwini Chandrappa [Documentation] Refresh GUI via refresh button in header. 12390c6a81cSAshwini Chandrappa 12490c6a81cSAshwini Chandrappa Click Element ${xpath_refresh_button} 12590c6a81cSAshwini Chandrappa # Added delay for page to load fully after refresh. 12690c6a81cSAshwini Chandrappa Sleep 5s 127f942dae4Smeghagn12345 128f942dae4Smeghagn12345 129f942dae4Smeghagn12345Refresh GUI And Verify Element Value 130f942dae4Smeghagn12345 [Documentation] Refresh GUI using refresh button and verify that given element contains expected value. 131f942dae4Smeghagn12345 [Arguments] ${element} ${expected_value} 132f942dae4Smeghagn12345 133f942dae4Smeghagn12345 # Description of argument(s): 134f942dae4Smeghagn12345 # element Element whose value need to be checked. 135f942dae4Smeghagn12345 # expected_value Expected value of for the given element. 136f942dae4Smeghagn12345 137f942dae4Smeghagn12345 # Refresh GUI. 138f942dae4Smeghagn12345 139f942dae4Smeghagn12345 Click Element ${xpath_refresh_button} 140f942dae4Smeghagn12345 141f942dae4Smeghagn12345 # Check element value and verify that it contains expected value. 142f942dae4Smeghagn12345 ${element_value}= Get Text ${element} 143f942dae4Smeghagn12345 Log ${element_value} 144f942dae4Smeghagn12345 Should Contain ${element_value} ${expected_value} 145f942dae4Smeghagn12345 1462052fdddSmeghagn 1472052fdddSmeghagnReboot BMC via GUI 1482052fdddSmeghagn [Documentation] Reboot BMC via GUI. 1492052fdddSmeghagn 1502052fdddSmeghagn Click Element ${xpath_operations_menu} 1512052fdddSmeghagn Click Element ${xpath_reboot_bmc_sub_menu} 1522052fdddSmeghagn Click Button ${xpath_reboot_bmc_button} 1532052fdddSmeghagn Click Button ${xpath_confirm_bmc_reboot} 1542052fdddSmeghagn Wait Until Keyword Succeeds 2 min 10 sec Is BMC Unpingable 1552052fdddSmeghagn Wait For Host To Ping ${OPENBMC_HOST} 1 min 156