diff --git a/gui/gui_test/server_config/test_obmc_gui_network_settings.robot b/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
index ec226b9..0b11107 100644
--- a/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
+++ b/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
@@ -27,6 +27,11 @@
 ${xpath_network_interface}        //*[@data-test-id="networkSettings-select-interface"]
 ${xpath_input_netmask_addr0}      //*[@data-test-id="networkSettings-input-subnetMask-0"]
 ${xpath_delete_static_ip}         //*[@title="Delete IPv4 row"]
+${xpath_input_dns_server}         //*[@data-test-id="networkSettings-input-dnsAddress-0"]
+${xpath_delete_dns_server}        //*[@title="Delete DNS row"]
+
+
+@{static_name_servers}            10.10.10.10
 
 *** Test Cases ***
 
@@ -167,6 +172,26 @@
     ${xpath_hostname_input}           ${empty}       Field required
 
 
+Config And Verify DNS Server Via GUI
+    [Documentation]  Configure DNS server and verify.
+    [Tags]  Config_And_Verify_DNS_Server_Via_GUI
+    [Setup]   DNS Test Setup Execution
+    [Teardown]   Run Keywords  Delete DNS Server And Verify  ${static_name_servers}
+    ...  AND  DNS Test Teardown Execution
+
+    Add DNS Server And Verify  ${static_name_servers}
+
+
+Delete And Verify DNS Server Via GUI
+    [Documentation]  Delete DNS server and verify.
+    [Tags]  Delete_And_Verify_DNS_Server_Via_GUI
+    [Setup]   Run Keywords  DNS Test Setup Execution  AND
+    ...  Add DNS Server And Verify  ${static_name_servers}
+    [Teardown]  DNS Test Teardown Execution
+
+    Delete DNS Server And Verify  ${static_name_servers}
+
+
 *** Keywords ***
 
 Suite Setup Execution
@@ -194,3 +219,88 @@
     Click Element  ${xpath_network_save_settings}
     Page Should Contain  ${expected_error}
 
+
+Add DNS Server And Verify
+    [Documentation]  Add DNS server on BMC and verify it via BMC CLI.
+    [Arguments]  ${static_name_servers}
+
+    # Description of the argument(s):
+    # static_name_servers  A list of static name server IPs to be
+    #                      configured on the BMC.
+
+    Wait Until Page Contains Element  ${xpath_add_dns_server}
+    ${length}=  Get Length   ${static_name_servers}
+    FOR  ${i}  IN RANGE  ${length}
+      Click Button  ${xpath_add_dns_server}
+      Input Text  //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+      ...  ${static_name_servers}[${i}]
+    END
+
+    Click Button  ${xpath_network_save_settings}
+    Wait Until Page Contains Element  ${xpath_setting_success}  timeout=15
+
+    Sleep  ${NETWORK_TIMEOUT}s
+    Verify Static Name Server Details On GUI  ${static_name_servers}
+    # Check if newly added DNS server is configured on BMC.
+    ${cli_name_servers}=  CLI Get Nameservers
+    List Should Contain Sub List  ${cli_name_servers}  ${static_name_servers}
+
+
+Delete DNS Server And Verify
+    [Documentation]  Delete static name servers.
+    [Arguments]  ${static_name_servers}
+
+    # Description of the argument(s):
+    # static_name_servers  A list of static name server IPs to be
+    #                      configured on the BMC.
+
+    ${length}=  Get Length  ${static_name_servers}
+    FOR  ${i}  IN RANGE   ${length}
+       ${status}=  Run Keyword And Return Status
+       ...  Page Should Contain Element  ${xpath_delete_dns_server}
+       Exit For Loop If   "${status}" == "False"
+       Wait Until Element Is Enabled  ${xpath_delete_dns_server}
+       Click Button  ${xpath_delete_dns_server}
+    END
+
+    Click Button  ${xpath_network_save_settings}
+    Wait Until Page Contains Element  ${xpath_setting_success}  timeout=15
+
+    Sleep  ${NETWORK_TIMEOUT}s
+    Page Should Not Contain Element  ${xpath_input_dns_server}
+    # Check if all name servers deleted on BMC.
+    ${nameservers}=  CLI Get Nameservers
+    Should Be Empty  ${nameservers}
+
+
+DNS Test Setup Execution
+    [Documentation]  Do DNS test setup execution.
+
+    ${original_name_server}=  CLI Get Nameservers
+    Set Suite Variable   ${original_name_server}
+    Run Keyword If  ${original_name_server} != @{EMPTY}
+    ...  Delete DNS Server And Verify  ${original_name_server}
+
+
+DNS Test Teardown Execution
+    [Documentation]  Do DNS test teardown execution.
+
+    Run Keyword If  ${original_name_server} != @{EMPTY}
+    ...  Add DNS Server And Verify  ${original_name_server}
+
+
+Verify Static Name Server Details On GUI
+    [Documentation]  Verify static name servers on GUI.
+    [Arguments]   ${static_name_servers}
+
+    # Description of the argument(s):
+    # static_name_servers  A list of static name server IPs to be
+    #                      configured on the BMC.
+
+    ${length}=  Get Length  ${static_name_servers}
+    FOR  ${i}  IN RANGE  ${length}
+       Page Should Contain Element  //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+       Textfield Value Should Be   //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+       ...  ${static_name_servers}[${i}]
+    END
+
