diff --git a/LICENSE b/LICENSE
index 4149bfa..5e173a3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -240,11 +240,21 @@
 Copyright (c) 2004-2017 Holger Krekel and others \
 MIT License (https://github.com/pytest-dev/pytest/blob/master/LICENSE)
 
+python-chromedriver-autoinstaller \
+https://github.com/yeongbin-jo/python-chromedriver-autoinstaller \
+Copyright (c) 2022 Yeongbin Jo \
+MIT License (https://github.com/yeongbin-jo/python-chromedriver-autoinstaller/blob/master/LICENSE)
+
 Requests \
 https://github.com/requests/requests \
 Copyright 2018 Kenneth Reitz \
 Apache 2 license (https://github.com/requests/requests/blob/master/LICENSE)
 
+Selenium \
+https://github.com/SeleniumHQ/selenium \
+Copyright 2022 Software Freedom Conservancy (SFC) \
+Apache 2 license (https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE)
+
 ---
 ## The MIT License (MIT)
 
diff --git a/Pipfile b/Pipfile
index 56db413..10150a8 100644
--- a/Pipfile
+++ b/Pipfile
@@ -16,6 +16,8 @@
 pytest-timeout = "~=2.1.0"
 kubernetes = "~=21.7.0"
 pygit2 = "~=1.9.1"
+selenium = "~=4.2.0"
+chromedriver-autoinstaller = "==0.3.1"
 
 [requires]
 python_version = "3.9"
diff --git a/Pipfile.lock b/Pipfile.lock
index 9b67cb5..ba28e5f 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "73e9de2399926646cf8380820f2c22edf4cf093f8d005dacd49f6ca045ac2072"
+            "sha256": "a0f6041cdd2972a528a6d9b74675991e47130e94c14808b70a50a4e663a5ff99"
         },
         "pipfile-spec": 6,
         "requires": {
@@ -16,6 +16,14 @@
         ]
     },
     "default": {
+        "async-generator": {
+            "hashes": [
+                "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b",
+                "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"
+            ],
+            "markers": "python_version >= '3.5'",
+            "version": "==1.10"
+        },
         "attrs": {
             "hashes": [
                 "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4",
@@ -117,6 +125,14 @@
             "markers": "python_version >= '3'",
             "version": "==2.0.12"
         },
+        "chromedriver-autoinstaller": {
+            "hashes": [
+                "sha256:7bafc2c1730fc044d078a9e2e31c59c8015077c7e4de3903f7f14693af03bfbe",
+                "sha256:d2d934fed5a8c27352e279c8c398ecbc570f5aebb4a877add05dc4703ce91bc8"
+            ],
+            "index": "pypi",
+            "version": "==0.3.1"
+        },
         "cryptography": {
             "hashes": [
                 "sha256:093cb351031656d3ee2f4fa1be579a8c69c754cf874206be1d4cf3b542042804",
@@ -161,6 +177,14 @@
             "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
             "version": "==2.9.0"
         },
+        "h11": {
+            "hashes": [
+                "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06",
+                "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442"
+            ],
+            "markers": "python_version >= '3.6'",
+            "version": "==0.13.0"
+        },
         "idna": {
             "hashes": [
                 "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff",
@@ -192,6 +216,14 @@
             "markers": "python_version >= '3.6'",
             "version": "==3.2.0"
         },
+        "outcome": {
+            "hashes": [
+                "sha256:6f82bd3de45da303cf1f771ecafa1633750a358436a8bb60e06a1ceb745d2672",
+                "sha256:c4ab89a56575d6d38a05aa16daeaa333109c1f96167aba8901ab18b6b5e0f7f5"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==1.2.0"
+        },
         "packaging": {
             "hashes": [
                 "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",
@@ -322,6 +354,14 @@
             "markers": "python_full_version >= '3.6.8'",
             "version": "==3.0.9"
         },
+        "pysocks": {
+            "hashes": [
+                "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299",
+                "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5",
+                "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
+            ],
+            "version": "==1.7.1"
+        },
         "pytest": {
             "hashes": [
                 "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89",
@@ -409,6 +449,13 @@
             "markers": "python_version >= '3.6'",
             "version": "==4.8"
         },
+        "selenium": {
+            "hashes": [
+                "sha256:ba5b2633f43cf6fe9d308fa4a6996e00a101ab9cb1aad6fd91ae1f3dbe57f56f"
+            ],
+            "index": "pypi",
+            "version": "==4.2.0"
+        },
         "setuptools": {
             "hashes": [
                 "sha256:16923d366ced322712c71ccb97164d07472abeecd13f3a6c283f6d5d26722793",
@@ -425,6 +472,21 @@
             "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
             "version": "==1.16.0"
         },
+        "sniffio": {
+            "hashes": [
+                "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663",
+                "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"
+            ],
+            "markers": "python_version >= '3.5'",
+            "version": "==1.2.0"
+        },
+        "sortedcontainers": {
+            "hashes": [
+                "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88",
+                "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"
+            ],
+            "version": "==2.4.0"
+        },
         "toml": {
             "hashes": [
                 "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b",
@@ -433,6 +495,22 @@
             "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'",
             "version": "==0.10.2"
         },
+        "trio": {
+            "hashes": [
+                "sha256:4dc0bf9d5cc78767fc4516325b6d80cc0968705a31d0eec2ecd7cdda466265b0",
+                "sha256:523f39b7b69eef73501cebfe1aafd400a9aad5b03543a0eded52952488ff1c13"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==0.21.0"
+        },
+        "trio-websocket": {
+            "hashes": [
+                "sha256:5b558f6e83cc20a37c3b61202476c5295d1addf57bd65543364e0337e37ed2bc",
+                "sha256:a3d34de8fac26023eee701ed1e7bf4da9a8326b61a62934ec9e53b64970fd8fe"
+            ],
+            "markers": "python_version >= '3.5'",
+            "version": "==0.9.2"
+        },
         "urllib3": {
             "hashes": [
                 "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
@@ -448,6 +526,14 @@
             ],
             "markers": "python_version >= '3.7'",
             "version": "==1.3.3"
+        },
+        "wsproto": {
+            "hashes": [
+                "sha256:2218cb57952d90b9fca325c0dcfb08c3bda93e8fd8070b0a17f048e2e47a521b",
+                "sha256:a2e56bfd5c7cd83c1369d83b5feccd6d37798b74872866e62616e0ecf111bda8"
+            ],
+            "markers": "python_version >= '3.7'",
+            "version": "==1.1.0"
         }
     },
     "develop": {
diff --git a/supplements/test-cluster/ldap/openldap.deployment.yaml b/supplements/test-cluster/ldap/openldap.deployment.yaml
new file mode 100644
index 0000000..f311479
--- /dev/null
+++ b/supplements/test-cluster/ldap/openldap.deployment.yaml
@@ -0,0 +1,42 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: openldap
+  namespace: openldap
+  labels:
+    app.kubernetes.io/name: openldap
+spec:
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: openldap
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: openldap
+    spec:
+      containers:
+      - name: openldap
+        image: docker.io/bitnami/openldap:latest
+        imagePullPolicy: "IfNotPresent"
+        env:
+          - name: LDAP_ADMIN_USERNAME
+            value: "admin"
+          - name: LDAP_ADMIN_PASSWORD
+            valueFrom:
+              secretKeyRef:
+                key: adminpassword
+                name: openldap-admin
+          - name: LDAP_USERS
+            valueFrom:
+              secretKeyRef:
+                key: users
+                name: openldap-users
+          - name: LDAP_PASSWORDS
+            valueFrom:
+              secretKeyRef:
+                key: passwords
+                name: openldap-users
+        ports:
+          - name: tcp-ldap
+            containerPort: 1389
diff --git a/supplements/test-cluster/ldap/openldap.namespace.yaml b/supplements/test-cluster/ldap/openldap.namespace.yaml
new file mode 100644
index 0000000..cc9e999
--- /dev/null
+++ b/supplements/test-cluster/ldap/openldap.namespace.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: openldap
diff --git a/supplements/test-cluster/ldap/openldap.secret.yaml b/supplements/test-cluster/ldap/openldap.secret.yaml
new file mode 100644
index 0000000..8ceb912
--- /dev/null
+++ b/supplements/test-cluster/ldap/openldap.secret.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: openldap-admin
+  namespace: openldap
+  labels:
+    app: gerrit
+data:
+  adminpassword: #TODO
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: openldap-users
+  namespace: openldap
+  labels:
+    app: gerrit
+data:
+  users: gerrit-admin,gerrit-user
+  passwords: #TODO
diff --git a/supplements/test-cluster/ldap/openldap.service.yaml b/supplements/test-cluster/ldap/openldap.service.yaml
new file mode 100644
index 0000000..1a8f274
--- /dev/null
+++ b/supplements/test-cluster/ldap/openldap.service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: openldap
+  namespace: openldap
+  labels:
+    app.kubernetes.io/name: openldap
+spec:
+  type: ClusterIP
+  ports:
+    - name: tcp-ldap
+      port: 1389
+      targetPort: tcp-ldap
+  selector:
+    app.kubernetes.io/name: openldap
diff --git a/tests/fixtures/cluster.py b/tests/fixtures/cluster.py
index 8f936d6..eb94968 100644
--- a/tests/fixtures/cluster.py
+++ b/tests/fixtures/cluster.py
@@ -116,3 +116,29 @@
     yield test_cluster
 
     test_cluster.cleanup()
+
+
+@pytest.fixture(scope="session")
+def ldap_credentials(test_cluster):
+    ldap_secret = client.CoreV1Api().read_namespaced_secret(
+        "openldap-users", namespace="openldap"
+    )
+    users = base64.b64decode(ldap_secret.data["users"]).decode("utf-8").split(",")
+    passwords = (
+        base64.b64decode(ldap_secret.data["passwords"]).decode("utf-8").split(",")
+    )
+    credentials = {}
+    for i, user in enumerate(users):
+        credentials[user] = passwords[i]
+
+    yield credentials
+
+
+@pytest.fixture(scope="session")
+def ldap_admin_credentials(test_cluster):
+    ldap_secret = client.CoreV1Api().read_namespaced_secret(
+        "openldap-admin", namespace="openldap"
+    )
+    password = base64.b64decode(ldap_secret.data["adminpassword"]).decode("utf-8")
+
+    yield ("admin", password)
diff --git a/tests/fixtures/helm/gerrit.py b/tests/fixtures/helm/gerrit.py
index edf7e0a..908081d 100644
--- a/tests/fixtures/helm/gerrit.py
+++ b/tests/fixtures/helm/gerrit.py
@@ -21,7 +21,10 @@
 import yaml
 
 import pygit2 as git
+import chromedriver_autoinstaller
 from kubernetes import client
+from selenium import webdriver
+from selenium.webdriver.common.by import By
 
 from .abstract_deployment import AbstractDeployment
 
@@ -48,7 +51,9 @@
 GERRIT_STARTUP_TIMEOUT = 240
 
 DEFAULT_GERRIT_CONFIG = {
-    "auth": {"type": "DEVELOPMENT_BECOME_ANY_ACCOUNT"},
+    "auth": {
+        "type": "LDAP",
+    },
     "container": {
         "user": "gerrit",
         "javaHome": "/usr/lib/jvm/java-11-openjdk",
@@ -69,6 +74,11 @@
         "gracefulStopTimeout": "1m",
     },
     "index": {"type": "LUCENE", "onlineUpgrade": False},
+    "ldap": {
+        "server": "ldap://openldap.openldap.svc.cluster.local:1389",
+        "accountbase": "dc=example,dc=org",
+        "username": "cn=admin,dc=example,dc=org",
+    },
     "sshd": {"listenAddress": "off"},
 }
 
@@ -81,6 +91,7 @@
 }
 
 
+# pylint: disable=R0902
 class GerritDeployment(AbstractDeployment):
     def __init__(
         self,
@@ -91,10 +102,13 @@
         container_org,
         container_version,
         ingress_url,
+        ldap_admin_credentials,
+        ldap_credentials,
     ):
         super().__init__(tmp_dir)
         self.cluster = cluster
         self.storageclass = storageclass
+        self.ldap_credentials = ldap_credentials
 
         self.chart_name = "gerrit-" + self.namespace
         self.chart_path = os.path.join(
@@ -112,6 +126,14 @@
         )
         self.hostname = f"{self.namespace}.{ingress_url}"
         self._configure_ingress()
+        self.set_gerrit_config_value(
+            "gerrit", "canonicalWebUrl", f"http://{self.hostname}"
+        )
+        # pylint: disable=W1401
+        self.set_helm_value(
+            "gerrit.etc.secret.secure\.config",
+            dict_to_git_config({"ldap": {"password": ldap_admin_credentials[1]}}),
+        )
 
     def install(self, wait=True):
         if self.cluster.helm.is_installed(self.namespace, self.chart_name):
@@ -133,6 +155,33 @@
             wait=wait,
         )
 
+    def create_admin_account(self):
+        self.wait_until_ready()
+        chromedriver_autoinstaller.install()
+        options = webdriver.ChromeOptions()
+        options.add_argument("--headless")
+        options.add_argument("--no-sandbox")
+        options.add_argument("--ignore-certificate-errors")
+        capabilities = webdriver.DesiredCapabilities.CHROME.copy()
+        capabilities["acceptInsecureCerts"] = True
+        driver = webdriver.Chrome(
+            chrome_options=options,
+            desired_capabilities=capabilities,
+        )
+        print(driver.capabilities)
+        driver.get(f"http://{self.hostname}/login")
+        print(self.ldap_credentials)
+        user_input = driver.find_element(By.ID, "f_user")
+        user_input.send_keys("gerrit-admin")
+
+        pwd_input = driver.find_element(By.ID, "f_pass")
+        pwd_input.send_keys(self.ldap_credentials["gerrit-admin"])
+
+        submit_btn = driver.find_element(By.ID, "b_signin")
+        submit_btn.click()
+
+        driver.close()
+
     def update(self):
         with open(self.values_file, "w", encoding="UTF-8") as f:
             yaml.dump(self.chart_opts, f)
@@ -206,7 +255,9 @@
 
 
 @pytest.fixture(scope="class")
-def gerrit_deployment(request, tmp_path_factory, test_cluster):
+def gerrit_deployment(
+    request, tmp_path_factory, test_cluster, ldap_admin_credentials, ldap_credentials
+):
     deployment = GerritDeployment(
         tmp_path_factory.mktemp("gerrit_deployment"),
         test_cluster,
@@ -215,6 +266,8 @@
         request.config.getoption("--org"),
         request.config.getoption("--tag"),
         request.config.getoption("--ingress-url"),
+        ldap_admin_credentials,
+        ldap_credentials,
     )
 
     yield deployment
@@ -225,5 +278,6 @@
 @pytest.fixture(scope="class")
 def default_gerrit_deployment(gerrit_deployment):
     gerrit_deployment.install()
+    gerrit_deployment.create_admin_account()
 
     yield gerrit_deployment
diff --git a/tests/helm-charts/gerrit/test_chart_gerrit_plugins.py b/tests/helm-charts/gerrit/test_chart_gerrit_plugins.py
index f9fd067..9e8c58c 100644
--- a/tests/helm-charts/gerrit/test_chart_gerrit_plugins.py
+++ b/tests/helm-charts/gerrit/test_chart_gerrit_plugins.py
@@ -51,6 +51,7 @@
 def gerrit_deployment_with_packaged_plugins(request, gerrit_deployment):
     gerrit_deployment.set_helm_value("gerrit.plugins.packaged", request.param)
     gerrit_deployment.install()
+    gerrit_deployment.create_admin_account()
 
     yield gerrit_deployment, request.param
 
@@ -69,6 +70,7 @@
     gerrit_deployment.set_helm_value("gerrit.plugins.packaged", ["healthcheck"])
 
     gerrit_deployment.install()
+    gerrit_deployment.create_admin_account()
 
     yield gerrit_deployment, selected_plugins
 
@@ -106,14 +108,16 @@
 
     @pytest.mark.timeout(300)
     def test_install_packaged_plugins(
-        self, request, gerrit_deployment_with_packaged_plugins
+        self, request, gerrit_deployment_with_packaged_plugins, ldap_credentials
     ):
         gerrit_deployment, expected_plugins = gerrit_deployment_with_packaged_plugins
         response = None
         while not response:
             try:
                 response = get_gerrit_plugin_list(
-                    f"http://{gerrit_deployment.hostname}"
+                    f"http://{gerrit_deployment.hostname}",
+                    "gerrit-admin",
+                    ldap_credentials["gerrit-admin"],
                 )
             except requests.exceptions.ConnectionError:
                 time.sleep(1)
@@ -122,7 +126,11 @@
 
     @pytest.mark.timeout(300)
     def test_install_packaged_plugins_are_removed_with_update(
-        self, request, test_cluster, gerrit_deployment_with_packaged_plugins
+        self,
+        request,
+        test_cluster,
+        gerrit_deployment_with_packaged_plugins,
+        ldap_credentials,
     ):
         gerrit_deployment, expected_plugins = gerrit_deployment_with_packaged_plugins
         removed_plugin = expected_plugins.pop()
@@ -134,7 +142,9 @@
         while True:
             try:
                 response = get_gerrit_plugin_list(
-                    f"http://{gerrit_deployment.hostname}"
+                    f"http://{gerrit_deployment.hostname}",
+                    "gerrit-admin",
+                    ldap_credentials["gerrit-admin"],
                 )
                 if response is not None and removed_plugin not in response:
                     break
@@ -158,13 +168,17 @@
             )
 
     @pytest.mark.timeout(300)
-    def test_install_other_plugins(self, request, gerrit_deployment_with_other_plugins):
+    def test_install_other_plugins(
+        self, gerrit_deployment_with_other_plugins, ldap_credentials
+    ):
         gerrit_deployment, expected_plugins = gerrit_deployment_with_other_plugins
         response = None
         while not response:
             try:
                 response = get_gerrit_plugin_list(
-                    f"http://{gerrit_deployment.hostname}"
+                    f"http://{gerrit_deployment.hostname}",
+                    "gerrit-admin",
+                    ldap_credentials["gerrit-admin"],
                 )
             except requests.exceptions.ConnectionError:
                 continue
@@ -172,7 +186,7 @@
 
     @pytest.mark.timeout(300)
     def test_install_other_plugins_are_removed_with_update(
-        self, request, gerrit_deployment_with_other_plugins
+        self, gerrit_deployment_with_other_plugins, ldap_credentials
     ):
         gerrit_deployment, installed_plugins = gerrit_deployment_with_other_plugins
         removed_plugin = installed_plugins.pop()
@@ -183,7 +197,9 @@
         while True:
             try:
                 response = get_gerrit_plugin_list(
-                    f"http://{gerrit_deployment.hostname}"
+                    f"http://{gerrit_deployment.hostname}",
+                    "gerrit-admin",
+                    ldap_credentials["gerrit-admin"],
                 )
                 if response is not None and removed_plugin["name"] not in response:
                     break
diff --git a/tests/helm-charts/gerrit/test_chart_gerrit_ssl.py b/tests/helm-charts/gerrit/test_chart_gerrit_ssl.py
index 539c88f..0eee0f4 100644
--- a/tests/helm-charts/gerrit/test_chart_gerrit_ssl.py
+++ b/tests/helm-charts/gerrit/test_chart_gerrit_ssl.py
@@ -56,6 +56,7 @@
     )
 
     gerrit_deployment.install()
+    gerrit_deployment.create_admin_account()
 
     yield gerrit_deployment
 
@@ -66,22 +67,20 @@
 @pytest.mark.slow
 class TestgerritChartSetup:
     # pylint: disable=W0613
-    def test_create_project_rest(self, request, cert_dir, gerrit_deployment_with_ssl):
+    def test_create_project_rest(
+        self, cert_dir, gerrit_deployment_with_ssl, ldap_credentials
+    ):
         create_project_url = (
             f"https://{gerrit_deployment_with_ssl.hostname}/a/projects/test"
         )
         response = requests.put(
             create_project_url,
-            auth=("admin", "secret"),
+            auth=("gerrit-admin", ldap_credentials["gerrit-admin"]),
             verify=os.path.join(cert_dir, "server.crt"),
         )
         assert response.status_code == 201
 
-    def test_cloning_project(
-        self,
-        tmp_path_factory,
-        gerrit_deployment_with_ssl,
-    ):
+    def test_cloning_project(self, tmp_path_factory, gerrit_deployment_with_ssl):
         clone_dest = tmp_path_factory.mktemp("gerrit_chart_clone_test")
         repo_url = f"https://{gerrit_deployment_with_ssl.hostname}/test.git"
         repo = git.clone_repository(
diff --git a/tests/helm-charts/gerrit/test_chart_gerrit_usage.py b/tests/helm-charts/gerrit/test_chart_gerrit_usage.py
index fae691d..f63d209 100644
--- a/tests/helm-charts/gerrit/test_chart_gerrit_usage.py
+++ b/tests/helm-charts/gerrit/test_chart_gerrit_usage.py
@@ -27,7 +27,7 @@
 @pytest.mark.kubernetes
 class TestGerritChartSetup:
     @pytest.mark.timeout(240)
-    def test_create_project_rest(self, default_gerrit_deployment):
+    def test_create_project_rest(self, default_gerrit_deployment, ldap_credentials):
         create_project_url = (
             f"http://{default_gerrit_deployment.hostname}/a/projects/test"
         )
@@ -35,7 +35,10 @@
 
         while not response:
             try:
-                response = requests.put(create_project_url, auth=("admin", "secret"))
+                response = requests.put(
+                    create_project_url,
+                    auth=("gerrit-admin", ldap_credentials["gerrit-admin"]),
+                )
             except requests.exceptions.ConnectionError:
                 break
 
