1*** Settings *** 2 3Documentation Test Open BMC GUI BMC host information under GUI Header. 4 5Library DateTime 6 7Resource ../../lib/resource.robot 8 9Suite Setup Launch Browser And Login OpenBMC GUI 10Suite Teardown Close Browser 11 12 13*** Variables *** 14${xpath_select_server_control} //*[@id="header__wrapper"]/div/div[2]/p[2] 15${xpath_select_refresh_button} //*[@id="header__wrapper"]/div/div[3]/button 16${xpath_select_date_text} //*[@id="header__wrapper"]/div/div[3]/p/span 17${xpath_header_scroll_front} //*[@id="header__wrapper"]/div/div[3]/a[1]/span 18${xpath_header_scroll_back} //*[@id="header__wrapper"]/div/div[3]/a[1]/i 19 20*** Test Cases *** 21 22Verify Server Power Button 23 [Documentation] Verify server power page on clicking server power button. 24 [Tags] Verify_Server_Power_Button 25 26 Click Button ${xpath_select_server_power} 27 Wait Until Page Contains Select a power operation 28 29Verify Server Health Button 30 [Documentation] Verify server health page on clicking server health button. 31 [Tags] Verify_Server_Health_Button 32 33 Click Button ${xpath_select_server_health} 34 Wait Until Page Contains All events from the BMC 35 36Verify IP address 37 [Documentation] Verify BMC IP address displayed in GUI header. 38 [Tags] Verify_IP_address 39 40 # NOTE: gui_displayed_ip can be either a host name or an IP address. 41 # (e.g. "machinex" or "xx.xx.xx.xx"). 42 ${gui_displayed_ip}= Get Text ${xpath_select_server_control} 43 Should Contain ${gui_displayed_ip} ${OPENBMC_HOST} 44 45 46Verify Refresh Button 47 [Documentation] Verify Refresh Button in GUI header. 48 [Tags] Verify_Refresh_Button 49 50 # Verify power is on after refresh button. 51 52 Expected Initial Test State Off 53 Click Element ${xpath_select_refresh_button} 54 GUI Power On 55 Click Element ${xpath_select_refresh_button} 56 Wait Until Page Contains Running 57 58Verify Date Last Refreshed 59 [Documentation] Verify Date Last Refreshed text in GUI header. 60 [Tags] Verify_Date_Last_Refreshed 61 62 ${date_info_1st_read}= Get Text ${xpath_select_date_text} 63 ${current_date}= Get Time 64 ${date_conversion}= Convert Date ${current_date} result_format=%b %d %Y 65 66 ${mmmdd} ${yyyy}= Split String From Right ${date_conversion} ${SPACE} 1 67 Should Contain ${date_info_1st_read} ${mmmdd} msg=Month and day mismatch. 68 Should Contain ${date_info_1st_read} ${yyyy} msg=Year mismatch. 69 70 # Refresh button pressed. 71 Click Element ${xpath_select_refresh_button} 72 Sleep 2s 73 74 ${date_info_2nd_read}= Get Text ${xpath_select_date_text} 75 ${current_date}= Get Time 76 ${date_conversion}= Convert Date ${current_date} result_format=%b %d %Y 77 78 ${mmmdd} ${yyyy}= Split String From Right ${date_conversion} ${SPACE} 1 79 Should Contain ${date_info_1st_read} ${mmmdd} msg=Month and day mismatch. 80 Should Contain ${date_info_1st_read} ${yyyy} msg=Year mismatch. 81 82 # Comparison between 1st and 2nd read. 83 Should Not Be Equal As Strings ${date_info_1st_read} 84 ... ${date_info_2nd_read} 85 86Verify GUI Header Scrolls 87 [Documentation] Verify GUI header scrolls on click "Server Info" element. 88 [Tags] Verify_GUI_Header_Scrolls 89 90 ${current_browser_width} ${current_browser_height}= Get Window Size 91 Maximize Browser Window 92 ${max_browser_width} ${max_browser_height}= Get Window Size 93 # Shrink the browser to half from max size. 94 ${shrink_browser_width}= Evaluate ${max_browser_width} / 2 95 ${shrink_browser_height}= Evaluate ${max_browser_height} / 2 96 # Reduce the browser size which enables scroll element. 97 Set Window Size ${shrink_browser_width} ${shrink_browser_height} 98 Click Element ${xpath_header_scroll_front} 99 # Below element is to scroll back. 100 Wait Until Page Does Not Contain Element ${xpath_refresh_circle} 101 Click Element ${xpath_header_scroll_back} 102 # Restore to original browser size. 103 Set Window Size ${current_browser_width} ${current_browser_height} 104