*** Settings *** Documentation Test Open BMC GUI BMC host information under GUI Header. Library DateTime Resource ../../lib/resource.robot Suite Setup Launch Browser And Login OpenBMC GUI Suite Teardown Close Browser *** Variables *** ${xpath_bmc_ip} //*[contains(@class, "header__server-ip")] ${xpath_select_refresh_button} //*[text()[contains(.,"Refresh")]] ${xpath_select_date_text} //*[@class="header__refresh"] ${xpath_header_scroll} //*[contains(@class,"header__action")] *** Test Cases *** Verify Server Power Button [Documentation] Verify server power page on clicking server power button. [Tags] Verify_Server_Power_Button Wait Until Element Is Visible ${xpath_select_server_power} Click Element ${xpath_select_server_power} Wait Until Page Contains Server power operations Verify Server Health Button [Documentation] Verify server health page on clicking server health button. [Tags] Verify_Server_Health_Button Wait Until Element Is Visible ${xpath_select_server_health} Click Element ${xpath_select_server_health} Wait Until Page Contains All events from the BMC Verify IP address [Documentation] Verify BMC IP address displayed in GUI header. [Tags] Verify_IP_address # NOTE: gui_displayed_ip can be either a host name or an IP address. # (e.g. "machinex" or "xx.xx.xx.xx"). ${gui_displayed_ip}= Get Text ${xpath_bmc_ip} Should Contain ${gui_displayed_ip} ${OPENBMC_HOST} Verify Refresh Button [Documentation] Verify Refresh Button in GUI header. [Tags] Verify_Refresh_Button # Verify power is on after refresh button. Expected Initial Test State Off Wait Until Element Is Visible ${xpath_select_refresh_button} Click Element ${xpath_select_refresh_button} GUI Power On Wait Until Element Is Visible ${xpath_select_refresh_button} Click Element ${xpath_select_refresh_button} Wait Until Page Contains Running Verify Date Last Refreshed [Documentation] Verify Date Last Refreshed text in GUI header. [Tags] Verify_Date_Last_Refreshed Wait Until Element Is Visible ${xpath_select_date_text} ${date_info_1st_read}= Get Text ${xpath_select_date_text} Should Not Be Empty ${date_info_1st_read} ${current_date}= Get Time ${date_conversion}= Convert Date ${current_date} result_format=%b %-d %Y ${mmmdd} ${yyyy}= Split String From Right ${date_conversion} ${SPACE} 1 Should Contain ${date_info_1st_read} ${mmmdd} msg=Month and day mismatch. Should Contain ${date_info_1st_read} ${yyyy} msg=Year mismatch. # Refresh button pressed. Click Element ${xpath_select_refresh_button} Sleep 2s ${date_info_2nd_read}= Get Text ${xpath_select_date_text} ${current_date}= Get Time ${date_conversion}= Convert Date ${current_date} result_format=%b %-d %Y ${mmmdd} ${yyyy}= Split String From Right ${date_conversion} ${SPACE} 1 Should Contain ${date_info_1st_read} ${mmmdd} msg=Month and day mismatch. Should Contain ${date_info_1st_read} ${yyyy} msg=Year mismatch. # Comparison between 1st and 2nd read. Should Not Be Equal As Strings ${date_info_1st_read} ... ${date_info_2nd_read} Verify GUI Header Scrolls [Documentation] Verify GUI header scrolls on click "Server Info" element. [Tags] Verify_GUI_Header_Scrolls ${current_browser_width} ${current_browser_height}= Get Window Size Maximize Browser Window ${max_browser_width} ${max_browser_height}= Get Window Size # Shrink the browser to half from max size. ${shrink_browser_width}= Evaluate ${max_browser_width} / 2 ${shrink_browser_height}= Evaluate ${max_browser_height} / 2 # Reduce the browser size which enables scroll element. Set Window Size ${shrink_browser_width} ${shrink_browser_height} Click Element ${xpath_header_scroll} # Below element is to scroll back. Wait Until Page Does Not Contain Element ${xpath_refresh_circle} Click Element ${xpath_header_scroll} # Restore to original browser size. Set Window Size ${current_browser_width} ${current_browser_height} OpenBMC GUI Logoff [Documentation] Log out from openBMC GUI. [Tags] OpenBMC_GUI_Logoff Click Button ${xpath_button_user_action} Click Button ${xpath_button_logout} Wait Until Page Contains Element ${xpath_button_login}