From 9dc65263d47a5b8857492c10ce151bab83cfe672 Mon Sep 17 00:00:00 2001
From: My-Name-Is-Nabil <midorady9999@gmail.com>
Date: Thu, 20 Jan 2022 21:29:16 +0200
Subject: [PATCH] Fixed #33455 -- Improved error message when selenium is not
 installed.

---
 tests/runtests.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/runtests.py b/tests/runtests.py
index 2ec5d32969..6bad838a95 100755
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -21,6 +21,7 @@ except ImportError as e:
 else:
     from django.apps import apps
     from django.conf import settings
+    from django.core.exceptions import ImproperlyConfigured
     from django.db import connection, connections
     from django.test import TestCase, TransactionTestCase
     from django.test.runner import get_max_test_processes, parallel_type
@@ -321,6 +322,10 @@ class ActionSelenium(argparse.Action):
     Validate the comma-separated list of requested browsers.
     """
     def __call__(self, parser, namespace, values, option_string=None):
+        try:
+            import selenium  # NOQA
+        except ImportError as e:
+            raise ImproperlyConfigured(f'Error loading selenium module: {e}')
         browsers = values.split(',')
         for browser in browsers:
             try: