diff --git a/tempest/api/compute/servers/test_console.py b/tempest/api/compute/servers/test_console.py
index 0cbeb41..0ebb268 100644
--- a/tempest/api/compute/servers/test_console.py
+++ b/tempest/api/compute/servers/test_console.py
@@ -33,6 +33,10 @@
     def setUp(self):
         super(ConsoleTestBase, self).setUp()
         self._websocket = None
+        self.server = self.create_test_server(wait_until="ACTIVE")
+        self.use_get_remote_console = False
+        if not self.is_requested_microversion_compatible("2.5"):
+            self.use_get_remote_console = True
 
     def tearDown(self):
         super(ConsoleTestBase, self).tearDown()
@@ -43,19 +47,6 @@
         # server_check_teardown should be called after super's tearDown.
         self.server_check_teardown()
 
-    @classmethod
-    def setup_clients(cls):
-        super(ConsoleTestBase, cls).setup_clients()
-        cls.client = cls.servers_client
-
-    @classmethod
-    def resource_setup(cls):
-        super(ConsoleTestBase, cls).resource_setup()
-        cls.server = cls.create_test_server(wait_until="ACTIVE")
-        cls.use_get_remote_console = False
-        if not cls.is_requested_microversion_compatible("2.5"):
-            cls.use_get_remote_console = True
-
     @property
     def cert_params(self):
         ssl_opt = {}
@@ -124,10 +115,11 @@
 
     def _get_console_body(self, type, protocol, get_console):
         if self.use_get_remote_console:
-            return self.client.get_remote_console(
+            return self.servers_client.get_remote_console(
                 self.server["id"], type=type, protocol=protocol
             )["remote_console"]
-        return getattr(self.client, get_console)(self.server["id"], type=type)[
+        return getattr(self.servers_client, get_console)(self.server["id"],
+                                                         type=type)[
             "console"
         ]
 
