1*** Settings *** 2 3Documentation Test OpenBMC GUI "Date and time" sub-menu of "Settings". 4 5Resource ../../lib/gui_resource.robot 6 7Suite Setup Suite Setup Execution 8Suite Teardown Close Browser 9Test Setup Navigate To Date and Time Page 10 11*** Variables *** 12 13${xpath_date_time_heading} //h1[text()="Date and time"] 14${xpath_select_manual} //*[@data-test-id="dateTime-radio-configureManual"] 15${xpath_select_ntp} //*[@data-test-id="dateTime-radio-configureNTP"] 16${xpath_manual_date} //input[@data-test-id="dateTime-input-manualDate"] 17${xpath_manual_time} //input[@data-test-id="dateTime-input-manualTime"] 18${xpath_ntp_server1} //input[@data-test-id="dateTime-input-ntpServer1"] 19${xpath_ntp_server2} //input[@data-test-id="dateTime-input-ntpServer2"] 20${xpath_ntp_server3} //input[@data-test-id="dateTime-input-ntpServer3"] 21${xpath_select_save_settings} //button[@data-test-id="dateTime-button-saveSettings"] 22 23 24*** Test Cases *** 25 26Verify Navigation To Date And Time Page 27 [Documentation] Verify navigation to date and time page. 28 [Tags] Verify_Navigation_To_Date_And_Time_Page 29 30 Page Should Contain Element ${xpath_date_time_heading} 31 32 33Verify Existence Of All Sections In Date And Time Page 34 [Documentation] Verify existence of all sections in date and time page. 35 [Tags] Verify_Existence_Of_All_Sections_In_Date_And_Time_Page 36 37 Page Should Contain Configure settings 38 39 40Verify Existence Of All Buttons In Date And Time Page 41 [Documentation] Verify existence of all buttons in date and time settings page. 42 [Tags] Verify_Existence_Of_All_Buttons_In_Date_And_Time_Page 43 44 Page Should Contain Element ${xpath_select_manual} 45 Page Should Contain Element ${xpath_select_ntp} 46 Page Should Contain Element ${xpath_select_save_settings} 47 48 49Verify Existence Of All Input Boxes In Date And Time Page 50 [Documentation] Verify existence of all input boxes in date time page. 51 [Tags] Verify_Existence_Of_All_Input_Boxes_In_Date_And_Time_Page 52 53 Click Element At Coordinates ${xpath_select_manual} 0 0 54 Page Should Contain Element ${xpath_manual_date} 55 Page Should Contain Element ${xpath_manual_time} 56 57 Click Element At Coordinates ${xpath_select_ntp} 0 0 58 Page Should Contain Element ${xpath_ntp_server1} 59 Page Should Contain Element ${xpath_ntp_server2} 60 Page Should Contain Element ${xpath_ntp_server3} 61 62 63Verify Date And Time From Configuration Section 64 [Documentation] Get date and time from configuration section and verify it via BMC CLI. 65 [Tags] Verify_Date_And_Time_From_Configuration_Section 66 67 Click Element At Coordinates ${xpath_select_manual} 0 0 68 ${manual_date}= Get Value ${xpath_manual_date} 69 ${manual_time}= Get Value ${xpath_manual_time} 70 71 ${cli_date_time}= CLI Get BMC DateTime 72 Should contain ${cli_date_time} ${manual_date} ${manual_time} 73 74 75Verify Display Of Date And Time In GUI Page 76 [Documentation] Get date and time from Redfish and verify it via GUI date and time page. 77 [Tags] Verify_Display_Of_Date_And_Time_In_GUI_Page 78 79 # Set Default timezone in profile settings page. 80 Set Timezone In Profile Settings Page Default 81 Navigate To Date and Time Page 82 83 # Get date and time from Redfish. 84 ${redfish_date_time}= CLI Get BMC DateTime 85 ${redfish_date}= Convert Date ${redfish_date_time} result_format=%Y-%m-%d 86 ${redfish_time}= Convert Date ${redfish_date_time} result_format=%H:%M 87 88 # Verify date and time via GUI date and time page. 89 90 Page Should Contain ${redfish_date} 91 Page Should Contain ${redfish_time} 92 93 94Verify Profile Setting Button In Date And Time Page 95 [Documentation] Verify navigation to profile setting page after clicking 96 ... on profile setting button in date and time page. 97 [Tags] Verify_Profile_Setting_Button_In_Date_And_Time_Page 98 99 Click Element ${xpath_profile_settings_link} 100 Wait Until Page Contains Element ${xpath_profile_settings_heading} timeout=10 101 Location Should Contain profile-settings 102 103 104Verify Existence Of Timezone Buttons In Profile Settings Page 105 [Documentation] Verify default UTC button and browser offset IST button 106 ... in Profile settings page 107 [Tags] Verify_Existence_Of_Timezone_Buttons_In_Profile_Settings_Page 108 109 Click Element ${xpath_profile_settings_link} 110 Wait Until Page Contains Element ${xpath_profile_settings_heading} timeout=30 111 Page Should Contain Element ${xpath_default_UTC} 112 Page Should Contain Element ${xpath_browser_offset} 113 114 115Verify Date And Time Change To Browser Offset Time 116 [Documentation] Verify date and time change to broswer's offset time when 117 ... 'Browser offset' option is selected in Profile settings page. 118 [Tags] Verify_Date_And_Time_Change_To_Browser_Offset_Time 119 120 Click Element ${xpath_profile_settings_link} 121 Wait Until Page Contains Element ${xpath_profile_settings_heading} timeout=10 122 Click Element At Coordinates ${xpath_browser_offset} 0 0 123 Click Element ${xpath_profile_save_button} 124 ${xpath_browser_offset_text}= Get Text ${xpath_browser_offset_textfield} 125 126 # We get an output ${xpath_browser_offset_text} = Browser offset (CST UTC-6). 127 # Need to compare "CST UTC-6" text so removing the spaces and other values. 128 129 ${text}= Set Variable ${xpath_browser_offset_text.split("(")[1].split(")")[0]} 130 Navigate To Date and Time Page 131 Page Should Contain ${text} 132 133 134Verify NTP Server Input Fields In Date And Time Page 135 [Documentation] Verify NTP server input fields in date and time page. 136 [Tags] Verify_NTP_Server_Input_Fields_In_Date_And_Time_Page 137 [Setup] Setup To Power Off And Navigate 138 139 Click Element At Coordinates ${xpath_select_ntp} 0 0 140 Input Text ${xpath_ntp_server1} 10.10.10.10 141 Input Text ${xpath_ntp_server2} 20.20.20.20 142 Input Text ${xpath_ntp_server3} 30.30.30.30 143 Click Element ${xpath_select_save_settings} 144 145 146 # Refresh the NTP Page. 147 Click Element ${xpath_refresh_button} 148 Wait Until Page Contains Element ${xpath_select_ntp} timeout=10s 149 150 Textfield Value Should Be ${xpath_ntp_server1} 10.10.10.10 151 Textfield Value Should Be ${xpath_ntp_server2} 20.20.20.20 152 Textfield Value Should Be ${xpath_ntp_server3} 30.30.30.30 153 154 155Verify Setting Manual BMC Time 156 [Documentation] Verify changing manual time and comparing it with CLI time. 157 [Tags] Verify_Setting_Manual_BMC_Time 158 [Setup] Run Keywords Set Timezone In Profile Settings Page 159 ... Default AND Setup To Power Off And Navigate 160 161 Click Element At Coordinates ${xpath_select_manual} 0 0 162 Input Text ${xpath_manual_date} 2023-05-12 163 Input Text ${xpath_manual_time} 15:30 164 Click Element ${xpath_select_save_settings} 165 166 # Wait for changes to take effect. 167 Sleep 120 168 ${manual_date}= Get Value ${xpath_manual_date} 169 ${manual_time}= Get Value ${xpath_manual_time} 170 171 ${cli_date_time}= CLI Get BMC DateTime 172 Should contain ${cli_date_time} ${manual_date} ${manual_time} 173 174 175*** Keywords *** 176 177Suite Setup Execution 178 [Documentation] Do test case setup tasks. 179 180 Launch Browser And Login GUI 181 Maximize Browser Window 182 183Setup To Power Off And Navigate 184 [Documentation] Power off system if not powered off and go to date and 185 ... time page. 186 187 Redfish Power off stack_mode=skip 188 Navigate To Date and Time Page 189 190 191Navigate To Date and Time Page 192 [Documentation] Navigate to the date and time page from main menu. 193 194 Click Element ${xpath_settings_menu} 195 Click Element ${xpath_date_time_sub_menu} 196 Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain date-time 197 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 198 199