diff --git a/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py b/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py
new file mode 100644
index 0000000..ab18366
--- /dev/null
+++ b/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py
@@ -0,0 +1,147 @@
+##########################################################################
+#
+# pgAdmin 4 - PostgreSQL Tools
+#
+# Copyright (C) 2013 - 2018, The pgAdmin Development Team
+# This software is released under the PostgreSQL Licence
+#
+##########################################################################
+import time
+import os
+
+from selenium.webdriver.support.ui import WebDriverWait
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support import expected_conditions as EC
+from regression.feature_utils.base_feature_test import BaseFeatureTest
+from regression.python_test_utils import test_utils
+
+
+class PGUtilitiesBackupFeatureTest(BaseFeatureTest):
+    """ This class test PG utilities - Backup and Restore test scenarios """
+
+    scenarios = [
+        ("Test for PG utilities - Backup and Restore", dict())
+    ]
+
+    def before(self):
+        if self.server['default_binary_paths'] is None:
+            self.skipTest(
+                "default_binary_paths is not set for the server {0}".format(
+                    self.server['name']
+                )
+            )
+        connection = test_utils.get_db_connection(
+            self.server['db'],
+            self.server['username'],
+            self.server['db_password'],
+            self.server['host'],
+            self.server['port'],
+            self.server['sslmode']
+        )
+        test_utils.drop_database(connection, "pg_utility_test_db")
+
+        test_utils.create_database(self.server, "pg_utility_test_db")
+        self.page.add_server(self.server)
+
+        self.wait = WebDriverWait(self.page.driver, 20)
+
+    def runTest(self):
+        self.page.toggle_open_server(self.server['name'])
+        self.page.toggle_open_tree_item('Databases')
+        self.page.toggle_open_tree_item('pg_utility_test_db')
+        self.driver.find_element_by_link_text("Tools").click()
+
+        self.page.find_by_partial_link_text("Backup...").click()
+
+        self.wait.until(EC.element_to_be_clickable(
+            (By.CSS_SELECTOR, ".browse_file_input")))
+
+        self.page.find_by_css_selector(
+            ".ajs-dialog.pg-el-container .ajs-maximize"
+        ).click()
+
+        self.wait.until(EC.element_to_be_clickable(
+            (By.CSS_SELECTOR, ".browse_file_input"))).click()
+
+        self.page.fill_input_by_field_name("file", "test_backup")
+
+        self.page.find_by_xpath("//button[contains(@class,'fa-save') "
+                                "and contains(.,'Backup')]").click()
+
+        self.page.wait_for_element_to_disappear(
+            lambda driver: driver.find_element_by_css_selector(".ajs-modal")
+        )
+
+        status = self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .bg-success").text
+
+        self.assertEquals(status, "Successfully completed.")
+
+        self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .pg-bg-click > span").click()
+        command = self.page.find_by_css_selector("p.bg-detailed-desc").text
+
+        self.assertIn(self.server['name'], str(command))
+        self.assertIn("from database 'pg_utility_test_db'", str(command))
+        self.assertIn("test_backup", str(command))
+        self.assertIn("pg_dump", str(command))
+
+        backup_file = None
+        if command:
+            backup_file = command[int(command.find('--file')) +
+                                  8:int(command.find('--host')) - 2]
+
+        self.page.find_by_xpath("//div[contains(@class,'wcFloatingFocus')"
+                                "]//div[contains(@class,'fa-close')]").click()
+
+        self.driver.find_element_by_link_text("Tools").click()
+        self.page.find_by_partial_link_text("Restore...").click()
+
+        self.wait.until(EC.presence_of_element_located(
+            (
+                By.XPATH,
+                "//label[contains(string(), 'Filename')]"
+            )
+        ))
+
+        self.wait.until(EC.element_to_be_clickable(
+            (By.CSS_SELECTOR, ".browse_file_input"))).click()
+
+        self.page.fill_input_by_field_name("file", "test_backup")
+        self.page.find_by_xpath("//button[contains(@class,'fa-upload')"
+                                " and contains(.,'Restore')]").click()
+
+        self.page.wait_for_element_to_disappear(
+            lambda driver: driver.find_element_by_css_selector(".ajs-modal")
+        )
+
+        status = self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .bg-success").text
+
+        self.assertEquals(status, "Successfully completed.")
+        self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .pg-bg-click > span").click()
+        command = self.page.find_by_css_selector("p.bg-detailed-desc").text
+
+        self.assertIn(self.server['name'], str(command))
+        self.assertIn("test_backup", str(command))
+        self.assertIn("pg_restore", str(command))
+
+        self.page.find_by_xpath("//div[contains(@class,'wcFloatingFocus')]"
+                                "//div[contains(@class,'fa-close')]").click()
+
+        if backup_file is not None:
+            if os.path.isfile(backup_file):
+                os.remove(backup_file)
+
+    def after(self):
+        self.page.remove_server(self.server)
+        connection = test_utils.get_db_connection(
+            self.server['db'],
+            self.server['username'],
+            self.server['db_password'],
+            self.server['host'],
+            self.server['port'],
+            self.server['sslmode']
+        )
+        test_utils.drop_database(connection, "pg_utility_test_db")
diff --git a/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py b/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py
new file mode 100644
index 0000000..f793386
--- /dev/null
+++ b/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py
@@ -0,0 +1,109 @@
+##########################################################################
+#
+# pgAdmin 4 - PostgreSQL Tools
+#
+# Copyright (C) 2013 - 2018, The pgAdmin Development Team
+# This software is released under the PostgreSQL Licence
+#
+##########################################################################
+import time
+from selenium.webdriver.support.ui import WebDriverWait
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support import expected_conditions as EC
+from regression.feature_utils.base_feature_test import BaseFeatureTest
+from regression.python_test_utils import test_utils
+
+
+class PGUtilitiesMaintenanceFeatureTest(BaseFeatureTest):
+    """ This class test PG utilities test scenarios """
+
+    scenarios = [
+        ("Test for PG maintenance: database", dict(
+            database_name='pg_maintenance',
+            table_name='pg_maintenance_table',
+            test_level='database'
+        )),
+        ("Test for PG maintenance: table", dict(
+            database_name='pg_maintenance',
+            table_name='pg_maintenance_table',
+            test_level='table'
+        )),
+    ]
+
+    def before(self):
+        if self.server['default_binary_paths'] is None:
+            self.skipTest(
+                "default_binary_paths is not set for the server {0}".format(
+                    self.server['name']
+                )
+            )
+        connection = test_utils.get_db_connection(
+            self.server['db'],
+            self.server['username'],
+            self.server['db_password'],
+            self.server['host'],
+            self.server['port'],
+            self.server['sslmode']
+        )
+        test_utils.drop_database(connection, self.database_name)
+        test_utils.create_database(self.server, self.database_name)
+        test_utils.create_table(self.server, self.database_name,
+                                self.table_name)
+        self.page.add_server(self.server)
+        self.wait = WebDriverWait(self.page.driver, 20)
+
+    def runTest(self):
+        self._open_maintenance_dialogue()
+        self.page.find_by_css_selector(
+            "button.fa-save.btn-primary.pg-alertify-button"). \
+            click()
+        self.page.wait_for_element_to_disappear(
+            lambda driver: driver.find_element_by_css_selector(".ajs-modal")
+        )
+        self._verify_command()
+
+    def _open_maintenance_dialogue(self):
+        self.page.toggle_open_server(self.server['name'])
+        self.page.toggle_open_tree_item('Databases')
+        self.page.toggle_open_tree_item(self.database_name)
+        if self.test_level == 'table':
+            self.page.toggle_open_tree_item('Schemas')
+            self.page.toggle_open_tree_item('public')
+            self.page.toggle_open_tree_item('Tables')
+            self.page.select_tree_item(self.table_name)
+
+        self.driver.find_element_by_link_text("Tools").click()
+        self.page.find_by_partial_link_text("Maintenance...").click()
+        time.sleep(0.5)
+
+    def _verify_command(self):
+        status = self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .bg-success").text
+        self.assertEquals(status, "Successfully completed.")
+        self.page.find_by_css_selector(
+            ".pg-bg-bgprocess .pg-bg-click > span").click()
+        command = self.page.find_by_css_selector("p.bg-detailed-desc").text
+        if self.test_level == 'database':
+            self.assertEquals(command, "VACUUM "
+                                       "(VERBOSE)\nRunning Query:"
+                                       "\nVACUUM VERBOSE;")
+        else:
+            self.assertEquals(command, "VACUUM "
+                                       "(VERBOSE)\nRunning Query:"
+                                       "\nVACUUM VERBOSE"
+                                       " public." + self.table_name + ";")
+
+        self.page.find_by_css_selector(
+            "div.wcFloatingFocus div.fa-close").click()
+
+    def after(self):
+        self.page.remove_server(self.server)
+        connection = test_utils.get_db_connection(
+            self.server['db'],
+            self.server['username'],
+            self.server['db_password'],
+            self.server['host'],
+            self.server['port'],
+            self.server['sslmode']
+        )
+        test_utils.drop_database(connection, self.database_name)
diff --git a/web/regression/runtests.py b/web/regression/runtests.py
index 26b25c7..4cd4553 100644
--- a/web/regression/runtests.py
+++ b/web/regression/runtests.py
@@ -216,7 +216,7 @@ def get_test_modules(arguments):
                 if 'headless_chrome' in test_setup.config_data:
                     if test_setup.config_data['headless_chrome']:
                         options.add_argument("--headless")
-            options.add_argument("--window-size=1280x1024")
+            options.add_argument("--window-size=1280,1024")
             driver = webdriver.Chrome(chrome_options=options)
 
         app_starter = AppStarter(driver, config)
