blob: 6de04e92eb424c2b6c85fb08ea323e3abd14764c [file] [log] [blame]
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -05001*** Settings ***
2
sarandev35100dda2023-02-13 02:59:15 -06003Documentation Test OpenBMC GUI "Date and time" sub-menu of "Settings".
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -05004
Rahul Maheshwari41747da2020-11-17 09:09:52 -06005Resource ../../lib/gui_resource.robot
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -05006
7Suite Setup Suite Setup Execution
sarandev3df94f6f2023-02-22 00:28:27 -06008Suite Teardown Suite Teardown Execution
sarandev3088958d2023-02-09 01:57:12 -06009Test Setup Navigate To Date and Time Page
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050010
11*** Variables ***
12
sarandev3df94f6f2023-02-22 00:28:27 -060013${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${xpath_invalid_format_message} //*[contains(text(), "Invalid format")]
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050023
24*** Test Cases ***
25
Rahul Maheshwari142642d2021-08-24 00:00:15 -050026Verify Navigation To Date And Time Page
27 [Documentation] Verify navigation to date and time page.
28 [Tags] Verify_Navigation_To_Date_And_Time_Page
Anusha Dathatrie11a54d2020-08-31 08:35:47 -050029
30 Page Should Contain Element ${xpath_date_time_heading}
31
32
Rahul Maheshwari142642d2021-08-24 00:00:15 -050033Verify Existence Of All Sections In Date And Time Page
34 [Documentation] Verify existence of all sections in date and time page.
George Keishingd6a77972022-01-31 12:50:29 -060035 [Tags] Verify_Existence_Of_All_Sections_In_Date_And_Time_Page
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050036
37 Page Should Contain Configure settings
38
39
Rahul Maheshwari142642d2021-08-24 00:00:15 -050040Verify Existence Of All Buttons In Date And Time Page
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050041 [Documentation] Verify existence of all buttons in date and time settings page.
Rahul Maheshwari142642d2021-08-24 00:00:15 -050042 [Tags] Verify_Existence_Of_All_Buttons_In_Date_And_Time_Page
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050043
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
Rahul Maheshwari142642d2021-08-24 00:00:15 -050049Verify 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
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -050052
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
Sushma M M2ba26e82020-11-25 14:07:15 -060063Verify 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
George Keishingd6a77972022-01-31 12:50:29 -060075Verify Display Of Date And Time In GUI Page
Sushma M M17ac1f52020-11-25 05:38:00 -060076 [Documentation] Get date and time from Redfish and verify it via GUI date and time page.
George Keishingd6a77972022-01-31 12:50:29 -060077 [Tags] Verify_Display_Of_Date_And_Time_In_GUI_Page
Sushma M M17ac1f52020-11-25 05:38:00 -060078
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
sarandev3ff7f34b2023-01-16 05:09:20 -060093
sarandev39cbaca82023-01-10 00:16:55 -060094Verify 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
sarandev34d1a7372023-01-27 02:10:38 -060099 Click Element ${xpath_profile_settings_link}
sarandev39cbaca82023-01-10 00:16:55 -0600100 Wait Until Page Contains Element ${xpath_profile_settings_heading} timeout=10
101 Location Should Contain profile-settings
102
Sushma M M17ac1f52020-11-25 05:38:00 -0600103
sarandev3ff7f34b2023-01-16 05:09:20 -0600104Verify 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
sarandev34d1a7372023-01-27 02:10:38 -0600109 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}
sarandev3ff7f34b2023-01-16 05:09:20 -0600113
114
George Keishing70bbd942023-02-09 22:55:04 -0600115Verify Date And Time Change To Browser Offset Time
sarandev34d1a7372023-01-27 02:10:38 -0600116 [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
sarandev3ff7f34b2023-01-16 05:09:20 -0600119
sarandev34d1a7372023-01-27 02:10:38 -0600120 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
sarandev3ff7f34b2023-01-16 05:09:20 -0600123 Click Element ${xpath_profile_save_button}
sarandev34d1a7372023-01-27 02:10:38 -0600124 ${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]}
sarandev3ff7f34b2023-01-16 05:09:20 -0600130 Navigate To Date and Time Page
sarandev34d1a7372023-01-27 02:10:38 -0600131 Page Should Contain ${text}
sarandev3ff7f34b2023-01-16 05:09:20 -0600132
133
Sushma M Mcba1b822020-11-25 16:02:48 -0600134Verify 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
sarandev3088958d2023-02-09 01:57:12 -0600137 [Setup] Setup To Power Off And Navigate
Sushma M Mcba1b822020-11-25 16:02:48 -0600138
sarandev363c4c292023-02-07 06:27:27 -0600139 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
Sushma M Mcba1b822020-11-25 16:02:48 -0600145
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
sarandev35100dda2023-02-13 02:59:15 -0600155Verify 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
sarandev390f93d42023-02-16 04:13:52 -0600175Verify Setting Invalid Date And Time Is Not Allowed
176 [Documentation] Verify if invalid date and invalid time input is given,
177 ... it should throw error.
178 [Tags] Verify_Setting_Invalid_Date_And_Time_Is_Not_Allowed
179 [Setup] Setup To Power Off And Navigate
180
181 Click Element At Coordinates ${xpath_select_manual} 0 0
182 Input Text ${xpath_manual_date} 2023-18-48
183 Page Should Contain Element ${xpath_invalid_format_message}
184 Input Text ${xpath_manual_time} 29:48
185 Page Should Contain Element ${xpath_invalid_format_message}
186
187
sarandev3df94f6f2023-02-22 00:28:27 -0600188Verify Changing BMC Time From NTP To Manual
189 [Documentation] Verify that BMC time can be changed from NPT to
190 ... manual time via GUI.
191 [Tags] Verify_Changing_BMC_Time_From_NTP_To_Manual
192 [Setup] Setup To Power Off And Navigate
193
sarandev3405572f2023-02-27 03:37:08 -0600194 # Add NTP server for BMC time to sync.
sarandev3df94f6f2023-02-22 00:28:27 -0600195 Click Element At Coordinates ${xpath_select_ntp} 0 0
196 Input Text ${xpath_ntp_server1} time.google.com
197 Click Element ${xpath_select_save_settings}
198
199 # Wait for changes to take effect.
200 Wait Until Page Contains Element ${xpath_select_ntp} timeout=30s
201
202 # Set the manual date and time.
203 ${cli_date_time}= CLI Get BMC DateTime
204 ${date_changed}= Add Time To Date ${cli_date_time} 31 days
205 ${date_changed}= Add Time To Date ${date_changed} 05:10:00
206 Log "Setting BMC date : ${date_changed} using Manual option"
207 ${date}= Convert Date ${date_changed} result_format=%Y-%m-%d
208 ${time}= Convert Date ${date_changed} result_format=%H:%M
209 Click Element At Coordinates ${xpath_select_manual} 0 0
210 Input Text ${xpath_manual_date} ${date}
211 Input Text ${xpath_manual_time} ${time}
212 Click Element ${xpath_select_save_settings}
213
214 # Refresh the NTP Page.
215 Click Element ${xpath_refresh_button}
216 Wait Until Page Contains ${date} timeout=60s
217 Page Should Contain ${time}
218
219 # Wait for the "Saved Successfully" window to close automatically.
220 Sleep 15
221
222
sarandev3405572f2023-02-27 03:37:08 -0600223Verify Changing BMC Time From Manual To NTP
224 [Documentation] Verify BMC time syncing with NTP server time
225 ... from manual time.
226 [Tags] Verify_Changing_BMC_Time_From_Manual_To_NTP
227 [Setup] Setup To Power Off And Navigate
228
229 # Add Manual date and time for BMC to sync.
230 Set Manual Date and Time Via GUI
231
232 # Set BMC date time to sync with NTP server.
233 Click Element At Coordinates ${xpath_select_ntp} 0 0
234 Input Text ${xpath_ntp_server1} 216.239.35.0
235 Click Element ${xpath_select_save_settings}
236
237 Wait Until Element Is Visible ${xpath_success_message} timeout=60
238 ${cli_date_time}= CLI Get BMC DateTime
239 ${ntp_date}= Convert Date ${cli_date_time} result_format=%Y-%m-%d
240 ${ntp_time}= Convert Date ${cli_date_time} result_format=%H:%M
241 Wait Until Page Contains ${ntp_date} timeout=60s
242 Page Should Contain ${ntp_time}
243
244 Wait Until Element Is Not Visible ${xpath_success_message} timeout=60
245
246
Rahul Maheshwari8c5f0542020-08-12 00:46:40 -0500247*** Keywords ***
248
249Suite Setup Execution
250 [Documentation] Do test case setup tasks.
251
252 Launch Browser And Login GUI
sarandev34d1a7372023-01-27 02:10:38 -0600253 Maximize Browser Window
sarandev3088958d2023-02-09 01:57:12 -0600254
sarandev3df94f6f2023-02-22 00:28:27 -0600255Suite Teardown Execution
256 [Documentation] Do the post suite teardown.
257
258 Logout GUI
259 Close Browser
260
George Keishing70bbd942023-02-09 22:55:04 -0600261Setup To Power Off And Navigate
sarandev3088958d2023-02-09 01:57:12 -0600262 [Documentation] Power off system if not powered off and go to date and
263 ... time page.
264
265 Redfish Power off stack_mode=skip
266 Navigate To Date and Time Page
267
Sushma M M17ac1f52020-11-25 05:38:00 -0600268Navigate To Date and Time Page
269 [Documentation] Navigate to the date and time page from main menu.
270
Rahul Maheshwari142642d2021-08-24 00:00:15 -0500271 Click Element ${xpath_settings_menu}
272 Click Element ${xpath_date_time_sub_menu}
273 Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain date-time
rramyasr-in05da0fb2022-08-26 05:52:03 -0500274 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30
275
sarandev3405572f2023-02-27 03:37:08 -0600276Set Manual Date and Time Via GUI
277 [Documentation] Set BMC date and time to one month in future via GUI.
278
279 ${cli_date_time}= CLI Get BMC DateTime
280 ${new_date}= Add Time To Date ${cli_date_time} 31 days
281 ${new_date_time}= Add Time To Date ${new_date} 05:10:00
282 Log "Setting BMC date : ${new_date_time} using Manual option"
283 ${date}= Convert Date ${new_date_time} result_format=%Y-%m-%d
284 ${time}= Convert Date ${new_date_time} result_format=%H:%M
285 Click Element At Coordinates ${xpath_select_manual} 0 0
286 Input Text ${xpath_manual_date} ${date}
287 Input Text ${xpath_manual_time} ${time}
288 Click Element ${xpath_select_save_settings}
289
290 # Wait for changes to take effect.
291 Wait Until Element Is Enabled ${xpath_select_ntp} timeout=30s
292