1*** Settings *** 2 3Documentation Test OpenBMC GUI "Network" sub-menu of "Settings". 4 5Resource ../../lib/gui_resource.robot 6Resource ../../../lib/bmc_network_utils.robot 7 8Suite Setup Suite Setup Execution 9Suite Teardown Close Browser 10 11 12*** Variables *** 13 14${xpath_network_heading} //h1[text()="Network"] 15${xpath_interface_settings} //h2[text()="Interface settings"] 16${xpath_network_settings} //h2[text()="Network settings"] 17${xpath_static_ipv4} //h2[text()="IPv4"] 18${xpath_domain_name_toggle} //*[@data-test-id="networkSettings-switch-useDomainName"] 19${xpath_ntp_servers_toggle} //*[@data-test-id="networkSettings-switch-useNtp"] 20${xpath_add_static_ipv4_address_button} //button[contains(text(),"Add static IPv4 address")] 21${xpath_hostname} //*[@title="Edit hostname"] 22${xpath_hostname_input} //*[@id="hostname"] 23${xpath_input_ip_address} //*[@id="ipAddress"] 24${xpath_input_gateway} //*[@id="gateway"] 25${xpath_input_subnetmask} //*[@id="subnetMask"] 26${xpath_cancel_button} //button[contains(text(),'Cancel')] 27${xpath_delete_dns_server} //*[@title="Delete DNS address"] 28${xpath_save_button} //button[contains(text(),'Save')] 29 30${dns_server} 10.10.10.10 31${test_ipv4_addr} 10.7.7.7 32${test_ipv4_addr_1} 10.7.7.8 33${out_of_range_ip} 10.7.7.256 34${string_ip} aa.bb.cc.dd 35${negative_ip} 10.-7.-7.-7 36${less_octet_ip} 10.3.36 37${hex_ip} 0xa.0xb.0xc.0xd 38${spl_char_ip} @@@.%%.44.11 39${test_subnet_mask} 255.255.0.0 40${alpha_netmask} ff.ff.ff.ff 41${out_of_range_netmask} 255.256.255.0 42${more_byte_netmask} 255.255.255.0.0 43${lowest_netmask} 128.0.0.0 44${test_hostname} openbmc 45 46*** Test Cases *** 47 48Verify Navigation To Network Page 49 [Documentation] Login to GUI and navigate to the settings sub-menu network page. 50 [Tags] Verify_Navigation_To_Network_Page 51 52 Page Should Contain Element ${xpath_network_heading} 53 54 55Verify Existence Of All Sections In Network Page 56 [Documentation] Login to GUI and navigate to the settings sub-menu network page 57 ... and confirm the page contains sections that should be accessible. 58 [Tags] Verify_Existence_Of_All_Sections_In_Network_Page 59 60 Wait Until Page Contains Element ${xpath_network_settings} timeout=1min 61 Page Should Contain Element ${xpath_interface_settings} 62 Page Should Contain Element ${xpath_static_ipv4} 63 Page Should Contain Element ${xpath_static_dns} 64 65 66Verify Existence Of All Buttons In Network Page 67 [Documentation] Login to GUI and navigate to the settings sub-menu network page 68 ... and confirm the page contains basic features button that should be accessible. 69 [Tags] Verify_Existence_Of_All_Buttons_In_Network_Page 70 71 Page Should Contain Button ${xpath_add_static_ipv4_address_button} 72 Page Should Contain Button ${xpath_add_dns_ip_address_button} 73 Page Should Contain Button ${xpath_domain_name_toggle} 74 Page Should Contain Button ${xpath_dns_servers_toggle} 75 Page Should Contain Button ${xpath_ntp_servers_toggle} 76 77 78Verify Existence Of All Fields In Hostname 79 [Documentation] Login to GUI and navigate to the settings sub-menu network page 80 ... and confirm hostname contains all the fields. 81 [Tags] Verify_Existence_Of_All_Fields_In_Hostname 82 [Teardown] Run Keywords Click Button ${xpath_cancel_button} AND 83 ... Wait Until Keyword Succeeds 10 sec 5 sec 84 ... Refresh GUI And Verify Element Value ${xpath_network_heading} Network 85 86 Click Element ${xpath_hostname} 87 Wait Until Page Contains Edit hostname timeout=1min 88 Page Should Contain Textfield ${xpath_hostname_input} 89 Page Should Contain Button ${xpath_cancel_button} 90 Page Should Contain Button ${xpath_save_button} 91 92 93Verify Existence Of All Fields In Static IP Address 94 [Documentation] Login to GUI and navigate to the settings sub-menu network page 95 ... and confirm section static IPv4 contains all the fields. 96 [Tags] Verify_Existence_Of_All_Fields_In_Static_IP_Address 97 [Teardown] Run Keywords Click Button ${xpath_cancel_button} AND 98 ... Wait Until Keyword Succeeds 10 sec 5 sec 99 ... Refresh GUI And Verify Element Value ${xpath_network_heading} Network 100 101 Wait Until Keyword Succeeds 30 sec 10 sec Click Element ${xpath_add_static_ipv4_address_button} 102 Wait Until Page Contains Add static IPv4 address timeout=15s 103 Page Should Contain Textfield ${xpath_input_ip_address} 104 Page Should Contain Textfield ${xpath_input_gateway} 105 Page Should Contain Textfield ${xpath_input_subnetmask} 106 Page Should Contain Button ${xpath_cancel_button} 107 Page Should Contain Button ${xpath_add_button} 108 109 110Verify Existence Of All Fields In Static DNS 111 [Documentation] Login to GUI and navigate to the settings sub-menu network page 112 ... and confirm section static DNS contains all the fields. 113 [Tags] Verify_Existence_Of_All_Fields_In_Static_DNS 114 [Teardown] Run Keywords Click Button ${xpath_cancel_button} AND 115 ... Wait Until Keyword Succeeds 10 sec 5 sec 116 ... Refresh GUI And Verify Element Value ${xpath_network_heading} Network 117 118 Wait Until Keyword Succeeds 30 sec 10 sec Click Element ${xpath_add_dns_ip_address_button} 119 Wait Until Page Contains Add IP address timeout=11s 120 Page Should Contain Textfield ${xpath_input_static_dns} 121 Page Should Contain Button ${xpath_cancel_button} 122 Page Should Contain Button ${xpath_add_button} 123 124 125Configure And Verify DNS Server Via GUI 126 [Documentation] Login to GUI Network page, add DNS server IP 127 ... and verify that the page reflects server IP. 128 [Tags] Configure_And_Verify_DNS_Server_Via_GUI 129 [Teardown] Delete DNS Servers And Verify 130 131 Add DNS Servers And Verify ${dns_server} 132 133 134Configure Static IPv4 Netmask Via GUI And Verify 135 [Documentation] Login to GUI Network page, configure static IPv4 netmask and verify. 136 [Tags] Configure_Static_IPv4_Netmask_Via_GUI_And_Verify 137 [Template] Add Static IP Address And Verify 138 139 # ip_addresses subnet_masks gateway expected_status 140 ${test_ipv4_addr} ${lowest_netmask} ${default_gateway} Success 141 ${test_ipv4_addr} ${more_byte_netmask} ${default_gateway} Invalid format 142 ${test_ipv4_addr} ${alpha_netmask} ${default_gateway} Invalid format 143 ${test_ipv4_addr} ${out_of_range_netmask} ${default_gateway} Invalid format 144 ${test_ipv4_addr} ${test_subnet_mask} ${default_gateway} Success 145 146 147Configure Hostname Via GUI And Verify 148 [Documentation] Login to GUI Network page, configure hostname and verify. 149 [Tags] Configure_Hostname_Via_GUI_And_Verify 150 [Teardown] Configure And Verify Network Settings Via GUI 151 ... ${xpath_hostname} ${xpath_hostname_input} ${hostname} 152 153 ${hostname}= Get BMC Hostname 154 Configure And Verify Network Settings Via GUI ${xpath_hostname} 155 ... ${xpath_hostname_input} ${test_hostname} 156 157 ${bmc_hostname}= Get BMC Hostname 158 Should Be Equal As Strings ${bmc_hostname} ${test_hostname} 159 160 161Configure And Verify Static IP Address 162 [Documentation] Login to GUI Network page, configure static ip address and verify. 163 [Tags] Configure_And_Verify_Static_IP_Address 164 165 Add Static IP Address And Verify ${test_ipv4_addr} ${test_subnet_mask} ${default_gateway} Success 166 167 168Configure And Verify Multiple Static IP Address 169 [Documentation] Login to GUI Network page, configure multiple static IP address and verify. 170 [Tags] Configure_And_Verify_Multiple_Static_IP_Address 171 172 Add Static IP Address And Verify ${test_ipv4_addr} ${test_subnet_mask} ${default_gateway} Success 173 Add Static IP Address And Verify ${test_ipv4_addr_1} ${test_subnet_mask} ${default_gateway} Success 174 175 176Configure And Verify Invalid Static IP Address 177 [Documentation] Login to GUI Network page, configure invalid static IP address and verify. 178 [Tags] Configure_And_Verify_Invalid_Static_IP_Address 179 [Template] Add Static IP Address And Verify 180 181 # ip subnet_mask gateway status 182 ${out_of_range_ip} ${test_subnet_mask} ${default_gateway} Invalid format 183 ${less_octet_ip} ${test_subnet_mask} ${default_gateway} Invalid format 184 ${string_ip} ${test_subnet_mask} ${default_gateway} Invalid format 185 ${negative_ip} ${test_subnet_mask} ${default_gateway} Invalid format 186 ${hex_ip} ${test_subnet_mask} ${default_gateway} Invalid format 187 ${spl_char_ip} ${test_subnet_mask} ${default_gateway} Invalid format 188 189*** Keywords *** 190 191Suite Setup Execution 192 [Documentation] Do suite setup tasks. 193 194 Launch Browser And Login GUI 195 Wait Until Keyword Succeeds 1 min 15 sec 196 ... Click Element ${xpath_settings_menu} 197 Click Element ${xpath_network_sub_menu} 198 Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain network 199 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 200 ${default_gateway}= Get BMC Default Gateway 201 Set Suite Variable ${default_gateway} 202 203 204Delete DNS Servers And Verify 205 [Documentation] Login to GUI Network page,delete static name servers 206 ... and verify that page does not reflect static name servers. 207 208 Page Should Contain Element ${xpath_delete_dns_server} 209 Wait Until Element Is Enabled ${xpath_delete_dns_server} 210 Click Button ${xpath_delete_dns_server} 211 Wait Until Page Contains Element ${xpath_add_dns_ip_address_button} timeout=15 212 # Check if all name servers deleted on BMC. 213 ${nameservers}= CLI Get Nameservers 214 Should Be Empty ${nameservers} 215 216 217Add Static IP Address And Verify 218 [Documentation] Add static IP address, subnet mask and 219 ... gateway via GUI and verify. 220 [Arguments] ${ip_address} ${subnet_mask} ${gateway_address} ${expected_status}=error 221 222 # Description of argument(s): 223 # ip_address IP address to be added (e.g. 10.7.7.7). 224 # subnet_mask Subnet mask for the IP to be added (e.g. 255.255.0.0). 225 # gateway_address Gateway address for the IP to be added (e.g. 10.7.7.1). 226 # expected_status Expected status while adding static ipv4 address 227 # .... (e.g. Invalid format / Field required). 228 229 Wait Until Keyword Succeeds 30 sec 10 sec Click Element ${xpath_add_static_ipv4_address_button} 230 231 Input Text ${xpath_input_ip_address} ${ip_address} 232 Input Text ${xpath_input_subnetmask} ${subnet_mask} 233 Input Text ${xpath_input_gateway} ${gateway_address} 234 235 Click Element ${xpath_add_button} 236 Run Keyword If '${expected_status}' == 'Success' 237 ... Run Keywords Wait Until Page Contains ${ip_address} timeout=40sec 238 ... AND Validate Network Config On BMC 239 240 ... ELSE IF '${expected_status}' == 'Invalid format' 241 ... Run Keywords Page Should Contain Invalid format AND 242 ... Click Button ${xpath_cancel_button} 243 244 245Configure And Verify Network Settings Via GUI 246 [Documentation] Configure and verify network settings via GUI. 247 [Arguments] ${xpath_nw_settings} ${xpath_nw_settings_input_field} ${input_value} 248 249 # Description of argument(s): 250 # xpath_nw_settings xpath of the network settings. 251 # xpath_nw_settings_input_field xpath of the network setting's input field. 252 # input_value Input value for configuration. E.g. hostname, IP etc. 253 254 Wait Until Keyword Succeeds 30 sec 10 sec Click Element ${xpath_nw_settings} 255 Input Text ${xpath_nw_settings_input_field} ${input_value} 256 Click Button ${xpath_save_button} 257 Wait Until Page Contains ${input_value} timeout=30sec 258