diff --git a/.travis.yml b/.travis.yml
index 92c15e0..80d979f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -56,7 +56,6 @@
   - bench run-tests
   - sleep 5
   - bench reinstall --yes
-  - bench execute erpnext.setup.setup_wizard.utils.complete
-  - bench execute erpnext.setup.utils.enable_all_roles_and_domains
   - bench --verbose run-setup-wizard-ui-test
+  - bench execute erpnext.setup.utils.enable_all_roles_and_domains
   - bench run-ui-tests --app erpnext
diff --git a/erpnext/setup/setup_wizard/test_setup_wizard.py b/erpnext/setup/setup_wizard/test_setup_wizard.py
index aed6698..2db63c1 100644
--- a/erpnext/setup/setup_wizard/test_setup_wizard.py
+++ b/erpnext/setup/setup_wizard/test_setup_wizard.py
@@ -9,12 +9,13 @@
 def run_setup_wizard_test():
 	driver = TestDriver()
 	frappe.db.set_default('in_selenium', '1')
+	frappe.db.commit()
 
 	driver.login('#page-setup-wizard')
 	print('Running Setup Wizard Test...')
 
 	# Language slide
-	driver.set_select("language", "English (United Kingdom)")
+	driver.set_select("language", "English (United States)")
 	driver.wait_for_ajax(True)
 	driver.wait_till_clickable(".next-btn").click()
 
@@ -25,9 +26,9 @@
 	driver.wait_till_clickable(".next-btn").click()
 
 	# Profile slide
-	driver.set_field("full_name", "Joe Davis")
-	driver.set_field("email", "joe@example.com")
-	driver.set_field("password", "somethingrandom")
+	driver.set_field("full_name", "Great Tester")
+	driver.set_field("email", "great@example.com")
+	driver.set_field("password", "test")
 	driver.wait_till_clickable(".next-btn").click()
 
 	# Brand slide
@@ -35,14 +36,14 @@
 	driver.wait_till_clickable(".next-btn").click()
 
 	# Org slide
-	driver.set_field("company_name", "Acme Corp")
+	driver.set_field("company_name", "For Testing")
 	driver.wait_till_clickable(".next-btn").click()
-	driver.set_field("company_tagline", "Build Tools for Builders")
-	driver.set_field("bank_account", "BNL")
+	driver.set_field("company_tagline", "Just for GST")
+	driver.set_field("bank_account", "HDFC")
 	driver.wait_till_clickable(".complete-btn").click()
 
-	# Wait for desk (Lock wait timeout error)
-	# driver.wait_for('#page-desktop', timeout=200)
+	# Wait for desktop
+	driver.wait_for('#page-desktop', timeout=600)
 
 	console = driver.get_console()
 	if frappe.flags.tests_verbose:
@@ -52,6 +53,8 @@
 	time.sleep(1)
 
 	frappe.db.set_default('in_selenium', None)
+	frappe.db.commit()
+
 	driver.close()
 
 	return True
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/utils.py b/erpnext/setup/setup_wizard/utils.py
index dc4abd4..d821a12 100644
--- a/erpnext/setup/setup_wizard/utils.py
+++ b/erpnext/setup/setup_wizard/utils.py
@@ -10,6 +10,3 @@
 
 	#setup_wizard.create_sales_tax(data)
 	setup_complete(data)
-
-
-
