diff --git a/gui/gui_test/security_and_access_menu/test_multiple_interfaces.robot b/gui/gui_test/security_and_access_menu/test_multiple_interfaces.robot
index 35f1081..04985d4 100644
--- a/gui/gui_test/security_and_access_menu/test_multiple_interfaces.robot
+++ b/gui/gui_test/security_and_access_menu/test_multiple_interfaces.robot
@@ -80,7 +80,7 @@
     ...  ELSE IF  '${certificate_type}' == 'Client' and '${delete_cert}' == '${True}'
     ...  Delete Certificate Via BMC CLI  ${certificate_type}
 
-    Set Test Variable  ${obmc_gui_url}  https://${OPENBMC_HOST_ETH1}:${HTTPS_PORT}
+    Set Test Variable  ${OPENBMC_GUI_URL}  https://${OPENBMC_HOST_ETH1}:${HTTPS_PORT}
     Launch Browser And Login GUI
     Navigate To SSL Certificate Page
     Sleep  10s
diff --git a/gui/lib/gui_resource.robot b/gui/lib/gui_resource.robot
index 252dd45..1bc369b 100644
--- a/gui/lib/gui_resource.robot
+++ b/gui/lib/gui_resource.robot
@@ -9,7 +9,7 @@
 
 
 *** Variables ***
-${obmc_gui_url}              https://${OPENBMC_HOST}:${HTTPS_PORT}
+${OPENBMC_GUI_URL}              https://${OPENBMC_HOST}:${HTTPS_PORT}
 ${xpath_power_page}          //*[@data-test-id='appHeader-container-power']
 ${xpath_power_shutdown}      //*[@data-test-id='serverPowerOperations-button-shutDown']
 ${xpath_power_power_on}      //*[@data-test-id='serverPowerOperations-button-powerOn']
@@ -50,14 +50,14 @@
     # Description of argument(s):
     # browser_type  Type of browser (e.g. "firefox", "chrome", etc.).
 
-    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}  ${browser_type}
+    ${BROWSER_ID}=  Open Browser  ${OPENBMC_GUI_URL}  ${browser_type}
     Maximize Browser Window
     Set Global Variable  ${BROWSER_ID}
 
 
 Launch Headless Browser
     [Documentation]  Launch headless browser.
-    [Arguments]  ${URL}=${obmc_gui_url}  ${browser}=${GUI_BROWSER}
+    [Arguments]  ${URL}=${OPENBMC_GUI_URL}  ${browser}=${GUI_BROWSER}
 
     # Description of argument(s):
     # URL      Openbmc GUI URL to be open
@@ -82,7 +82,7 @@
 Retry Browser Login Attempts
     [Documentation]  Launch browser and login to OpenBMC GUI.
 
-    Open Browser With URL  ${obmc_gui_url}
+    Open Browser With URL  ${OPENBMC_GUI_URL}
     Login GUI  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
 
 
@@ -94,7 +94,7 @@
     # username  The username to be used for login.
     # password  The password to be used for login.
 
-    Go To  ${obmc_gui_url}
+    Go To  ${OPENBMC_GUI_URL}
     Wait Until Element Is Enabled  ${xpath_login_username_input}
     Input Text  ${xpath_login_username_input}  ${username}
     Input Password  ${xpath_login_password_input}  ${password}
@@ -113,7 +113,7 @@
     # user_name        User name to login to eBMC.
     # user_password    User password to login to eBMC.
 
-    Open Browser With URL  ${obmc_gui_url}
+    Open Browser With URL  ${OPENBMC_GUI_URL}
     LOGIN GUI  ${user_name}  ${user_password}
 
 Logout GUI
diff --git a/gui/lib/resource.robot b/gui/lib/resource.robot
index 115cf8c..00a075f 100644
--- a/gui/lib/resource.robot
+++ b/gui/lib/resource.robot
@@ -23,7 +23,7 @@
 Variables    ../data/resource_variables.py
 
 *** Variables ***
-${obmc_gui_url}              https://${OPENBMC_HOST}:${HTTPS_PORT}
+${OPENBMC_GUI_URL}              https://${OPENBMC_HOST}:${HTTPS_PORT}
 
 ${obmc_PowerOff_state}       Off
 ${obmc_PowerRunning_state}   Running
@@ -74,13 +74,13 @@
     # Description of argument(s):
     # browser_type  Type of browser (e.g. "firefox", "chrome", etc.).
 
-    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}  ${browser_type}
+    ${BROWSER_ID}=  Open Browser  ${OPENBMC_GUI_URL}  ${browser_type}
     Maximize Browser Window
     Set Global Variable  ${BROWSER_ID}
 
 Launch Headless Browser
     [Documentation]  Launch headless browser.
-    [Arguments]  ${URL}=${obmc_gui_url}  ${browser}=${GUI_BROWSER}
+    [Arguments]  ${URL}=${OPENBMC_GUI_URL}  ${browser}=${GUI_BROWSER}
 
     # Description of argument(s):
     # URL      Openbmc GUI URL to be open
@@ -103,7 +103,7 @@
     # username      The username.
     # password      The password.
 
-    Go To  ${obmc_gui_url}
+    Go To  ${OPENBMC_GUI_URL}
     Wait Until Element Is Enabled  ${xpath_textbox_hostname}
     Input Text  ${xpath_textbox_hostname}  ${OPENBMC_HOST}
     Input Text  ${xpath_textbox_username}  ${username}
@@ -286,7 +286,7 @@
 Launch Browser And Login OpenBMC GUI
     [Documentation]  Launch browser and log into openbmc GUI.
 
-    Open Browser With URL  ${obmc_gui_url}
+    Open Browser With URL  ${OPENBMC_GUI_URL}
     Login OpenBMC GUI  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
 
 Logout And Close Browser
diff --git a/gui/test/access_control/test_obmc_gui_local_users.robot b/gui/test/access_control/test_obmc_gui_local_users.robot
index afad860..e4e0edf 100644
--- a/gui/test/access_control/test_obmc_gui_local_users.robot
+++ b/gui/test/access_control/test_obmc_gui_local_users.robot
@@ -149,7 +149,7 @@
    # password   User password.
    # expected_result  Result of the test.
 
-    Open Browser  ${obmc_gui_url}  alias=2
+    Open Browser  ${OPENBMC_GUI_URL}  alias=2
     Switch Browser  2
     ${status}=  Run Keyword And Return Status  Login OpenBMC GUI  ${username}  ${password}
     Should Be Equal  ${status}  ${expected_result}  Login expectation was not met
