diff --git a/index.rst b/index.rst
index e0386d3..e390ac0 100644
--- a/index.rst
+++ b/index.rst
@@ -53,7 +53,7 @@
 
    testing/about_system_tests
    testing/sdcore_testing
-   testing/aether-roc-api-tests
+   testing/aether-roc-tests
    testing/acceptance_specification
    testing/fabric_testing
    testing/pdp_testing
diff --git a/testing/aether-roc-api-tests.rst b/testing/aether-roc-api-tests.rst
deleted file mode 100644
index 9c29e73..0000000
--- a/testing/aether-roc-api-tests.rst
+++ /dev/null
@@ -1,65 +0,0 @@
-==========================================
-Instructions For Running The ROC API Tests
-==========================================
-
-The REST API of the Aether ROC is tested utilizing the Robot Framework.
-The tests are located inside the aether-system-tests repository and they are run nightly using
-Jenkins job.
-
-Development Prerequisites
-^^^^^^^^^^^^^^^^^^^^^^^^^
-To access the ROC API from a local system, it is necessary to deploy the components of µONOS.
-This can be done with the use of Helm (see instructions on
-`this page <https://docs.onosproject.org/onos-docs/docs/content/developers/deploy_with_helm/>`_).
-
-| Additionally, it is necessary to add the sdran chart repo with the following command:
-| ``helm repo add sdran --username USER --password PASSWORD https://sdrancharts.onosproject.org``
-| , where USER and PASSWORD can be obtained from the Aether Login Information file, which is
-| accessibble to the ``onfstaff`` group.
-
-Access the ROC API
-^^^^^^^^^^^^^^^^^^
-Follow the steps below to access the ROC API:
-
-| 1. Deploy the aether-roc-umbrella chart from the sdran repo with the following command:
-| ``helm -n micro-onos install aether-roc-umbrella sdran/aether-roc-umbrella``
-| 2. Check if all pods are in a Running state with the command ``kubectl -n micro-onos get pods``
-| This should give a list like:
-
-
-+---------------------------------+-------+---------+----------+-----+
-| NAME                            | READY |  STATUS | RESTARTS | AGE |
-+---------------------------------+-------+---------+----------+-----+
-| aether-roc-api-56f54d69d4-b4mkk | 1/1   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| aether-roc-gui-75d6bf95d7-998bg | 1/1   | Running | 0        | 47s |
-+---------------------------------+-------+---------+----------+-----+
-| onos-cli-77d589f9c7-7jzcl       | 1/1   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| onos-config-6646dcb964-kslbs    | 2/2   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| onos-consensus-db-1-0           | 1/1   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| onos-gui-dfd58b788-bkj6l        | 2/2   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| onos-topo-6948484f46-6m6fg      | 1/1   | Running | 0        | 46s |
-+---------------------------------+-------+---------+----------+-----+
-| sdcore-adapter-69bff5fc45-79pld | 1/1   | Running | 0        | 47s |
-+---------------------------------+-------+---------+----------+-----+
-
-| 3. Once all pods are in a Running state, port-forward to port 8181 with the following command:
-| ``kubectl -n micro-onos port-forward $(kubectl -n micro-onos get pods -l type=api -o name) 8181``
-
-Running the tests
-^^^^^^^^^^^^^^^^^
-| 1. Checkout the aether-system-tests repo:
-| ``git clone "ssh://$GIT_USER@gerrit.opencord.org:29418/aether-system-tests"``
-| 2. Go to the repo directory:
-| ``cd aether-system-tests``
-| 3. Install the requirements:
-| ``make ast-venv``
-| 4. The ROC API test files are located inside the ``tests/roc/api`` directory. There is a test file
-| for each of the API end points. For example, we can run the test file for ``access-profile`` with
-| the following command:
-| ``robot tests/roc/api/access-profile.robot``
-| This will generate test reports and logs in the current directory.
diff --git a/testing/aether-roc-tests.rst b/testing/aether-roc-tests.rst
new file mode 100644
index 0000000..023fec4
--- /dev/null
+++ b/testing/aether-roc-tests.rst
@@ -0,0 +1,237 @@
+Instructions For Running The ROC Tests
+======================================
+
+The REST API and the GUI of the Aether ROC is tested utilizing the Robot Framework.
+The tests are located inside the aether-system-tests repository and they are run nightly using
+a Jenkins job.
+
+Development Prerequisites
+-------------------------
+To access the ROC from a local system, it is necessary to deploy the components of µONOS.
+This can be done with the use of Helm (see instructions on
+`this page <https://docs.onosproject.org/onos-docs/docs/content/developers/deploy_with_helm/>`_).
+
+Additionally, it is necessary to add the sdran chart repo with the following command:
+
+.. code-block:: shell
+
+    helm repo add sdran --username USER --password PASSWORD https://sdrancharts.onosproject.org
+
+where USER and PASSWORD can be obtained from the Aether Login Information file, which is
+accessibble to the ``onfstaff`` group.
+
+Finally, the ROC GUI tests are running on the Firefox browser, so it is nesessary to have the Firefox browser and the
+Firefox web driver (geckodriver) installed on the system in order to run these tests.
+
+Running the ROC API tests
+-------------------------
+Follow the steps below to access the ROC API:
+
+1. Deploy the aether-roc-umbrella chart from the sdran repo with the following command:
+
+.. code-block:: shell
+
+    helm -n micro-onos install aether-roc-umbrella sdran/aether-roc-umbrella
+
+2. Check if all pods are in a Running state:
+
+.. code-block:: shell
+
+    kubectl -n micro-onos get pods
+
+This should print a table like the one below:
+
+.. code-block:: shell
+
+    NAME                                                           READY   STATUS    RESTARTS   AGE
+    aether-roc-api-df499d585-7xmt5                                 2/2     Running   0          2m52s
+    aether-roc-gui-56bfb5fc67-sgxh7                                1/1     Running   0          2m52s
+    aether-roc-umbrella-grafana-6b4d4b55c-4mdww                    1/1     Running   0          2m52s
+    aether-roc-umbrella-prometheus-alertmanager-694c449885-8fsbs   2/2     Running   0          2m52s
+    aether-roc-umbrella-prometheus-server-59c974f84-d56td          2/2     Running   0          2m52s
+    aether-roc-umbrella-sdcore-test-dummy-7f4895c59c-4pvdg         1/1     Running   0          2m52s
+    onos-cli-846d9c8df6-njqgs                                      1/1     Running   0          2m52s
+    onos-config-759fff55f-k9fzr                                    5/5     Running   0          2m52s
+    onos-consensus-store-1-0                                       1/1     Running   0          2m50s
+    onos-topo-56b687f77b-9l8ns                                     3/3     Running   0          2m52s
+    sdcore-adapter-v21-5688b8d458-5sn67                            1/1     Running   0          2m52s
+    sdcore-adapter-v3-56667fd848-9szt5                             2/2     Running   0          2m52s
+
+
+3. Once all pods are in a Running state, port-forward to port 8181 with the following command:
+
+.. code-block:: shell
+
+    kubectl -n micro-onos port-forward $(kubectl -n micro-onos get pods -l type=api -o name) 8181
+
+
+Now that we have access to the ROC API, we can proceed with running the ROC API tests from the ``aether-system-tests``
+repository:
+
+1. Checkout the aether-system-tests repo:
+
+.. code-block:: shell
+
+    git clone "ssh://$GIT_USER@gerrit.opencord.org:29418/aether-system-tests"
+
+2. Go to the repo directory:
+
+.. code-block:: shell
+
+    cd aether-system-tests
+
+3. Install the requirements and create a virtual environment:
+
+.. code-block:: shell
+
+    make ast-venv
+    source ast-venv/bin/activate
+
+4. Go to the ``roc`` folder and generate the ROC API test framework and test files:
+
+.. code-block:: shell
+
+    cd roc
+    python libraries/api/codegen/class_generator.py \
+    --models=variables/3_0_0_model_list.json \
+    --template=libraries/api/codegen/templates/class_template.py.tmpl \
+    --common_files_directory=libraries/api/codegen/common \
+    --target_directory=libraries/api/
+    python tests/api/codegen/tests_generator.py \
+    --models=variables/3_0_0_model_list.json \
+    --template=tests/api/codegen/templates/tests_template.robot.tmpl \
+    --target_directory=tests/api
+
+5. Go to the directory that contains the test files:
+
+.. code-block:: shell
+
+    cd tests/api/3_0_0
+
+6. Create a folder for the logs and the output files from the tests:
+
+.. code-block:: shell
+
+    mkdir results
+
+7. Run any Robot Framework test file from the ``3_0_0`` directory.
+Each test file corresponds to one of the Aether 3.0.0 models.
+
+.. code-block:: shell
+
+    robot -d results <model-name>.robot
+
+This will generate test reports and logs in the ``results`` directory.
+
+Running the ROC GUI tests
+-------------------------
+We are testing the ROC GUI by installing the ROC on a local dex server. To install the dex server, please follow
+the steps under the "Helm install" section of the Readme file in `this repository <https://github.com/onosproject/onos-helm-charts/tree/master/dex-ldap-umbrella>`_.
+
+Once that you have installed the ``dex-ldap-umbrella`` chart, follow the steps below to install the ROC
+on a local dex server:
+
+1. Deploy the aether-roc-umbrella chart from the sdran repo with the following command:
+
+.. code-block:: shell
+
+    helm -n micro-onos install aether-roc-umbrella sdran/aether-roc-umbrella --set onos-config.openidc.issuer=http://dex-ldap-umbrella:5556 --set aether-roc-gui-v3.openidc.issuer=http://dex-ldap-umbrella:5556 --set import.sdcore-adapter.v2_1.enabled=false
+
+2. Check if all pods are in a Running state:
+
+.. code-block:: shell
+
+    kubectl -n micro-onos get pods
+
+This should print a table like the one below:
+
+.. code-block:: shell
+
+    NAME                                                           READY   STATUS    RESTARTS   AGE
+    aether-roc-api-df499d585-srf4c                                 2/2     Running   0          3m36s
+    aether-roc-gui-799d57456-smx6r                                 1/1     Running   0          3m36s
+    aether-roc-umbrella-grafana-55cccb986c-t47gz                   1/1     Running   0          3m37s
+    aether-roc-umbrella-prometheus-alertmanager-694c449885-rk47g   2/2     Running   0          3m36s
+    aether-roc-umbrella-prometheus-server-59c974f84-97z5t          2/2     Running   0          3m36s
+    aether-roc-umbrella-sdcore-test-dummy-7f4895c59c-cv6j7         1/1     Running   0          3m36s
+    dex-ldap-umbrella-75bbc9d676-wfvcb                             1/1     Running   0          8m36s
+    dex-ldap-umbrella-openldap-fc47667c8-9s7q4                     1/1     Running   0          8m36s
+    dex-ldap-umbrella-phpldapadmin-b899f9966-rzwkr                 1/1     Running   0          8m36s
+    onos-cli-846d9c8df6-kf2xk                                      1/1     Running   0          3m37s
+    onos-config-5568487f84-dwfs8                                   5/5     Running   0          3m37s
+    onos-consensus-store-1-0                                       1/1     Running   0          3m35s
+    onos-topo-56b687f77b-vb2sx                                     3/3     Running   0          3m36s
+    sdcore-adapter-v3-56667fd848-g7dh2                             2/2     Running   0          3m37s
+
+
+3. Once all pods are in a Running state, port-forward to port 8183 to access the ROC GUI:
+
+.. code-block:: shell
+
+    kubectl -n micro-onos port-forward $(kubectl -n micro-onos get pods -l type=arg -o name) 8183:80
+
+3. Port-forward to port 8181 to access the ROC API (which is necessary for some test cases):
+
+.. code-block:: shell
+
+    kubectl -n micro-onos port-forward $(kubectl -n micro-onos get pods -l type=api -o name) 8181
+
+3. Finalluy, port-forward the dex service to port 5556:
+
+.. code-block:: shell
+
+    DEX_POD_NAME=$(kubectl -n micro-onos get pods -l "app.kubernetes.io/name=dex,app.kubernetes.io/instance=dex-ldap-umbrella" -o jsonpath="{.items[0].metadata.name}") &&
+    kubectl -n micro-onos port-forward $DEX_POD_NAME 5556:5556
+
+Now that we have access to the ROC API and GUI, we can proceed with running the ROC GUI tests from the
+``aether-system-tests`` repository:
+
+1. Checkout the aether-system-tests repo:
+
+.. code-block:: shell
+
+    git clone "ssh://$GIT_USER@gerrit.opencord.org:29418/aether-system-tests"
+
+2. Go to the repo directory:
+
+.. code-block:: shell
+
+    cd aether-system-tests
+
+3. Install the requirements and create a virtual environment:
+
+.. code-block:: shell
+
+    make ast-venv
+    source ast-venv/bin/activate
+
+4. Go to the ``roc`` folder and generate the ROC GUI test files:
+
+.. code-block:: shell
+
+    cd roc
+    python tests/gui/codegen/tests_generator.py \
+    --models=variables/3_0_0_model_list.json \
+    --template=tests/gui/codegen/templates/tests_template.robot.tmpl \
+    --target_directory=tests/gui
+
+5. Go to the directory that contains the test files:
+
+.. code-block:: shell
+
+    cd tests/gui/3_0_0
+
+6. Create a folder for the logs and the output files from the tests:
+
+.. code-block:: shell
+
+    mkdir results
+
+7. Run any Robot Framework test file from the ``3_0_0`` directory.
+Each test file corresponds to one of the Aether 3.0.0 models.
+
+.. code-block:: shell
+
+    robot -d results <model-name>.robot
+
+| This will generate test reports and logs in the ``results`` directory.
