diff --git a/ee/app/assets/javascripts/onboarding/onboarding_welcome/components/welcome_page.vue b/ee/app/assets/javascripts/onboarding/onboarding_welcome/components/welcome_page.vue
index 26b171be26a9ae85e3a21a1cd2e443ccde754e0c..df8c71375c259e39e82ffb8b00556ebee5294df1 100644
--- a/ee/app/assets/javascripts/onboarding/onboarding_welcome/components/welcome_page.vue
+++ b/ee/app/assets/javascripts/onboarding/onboarding_welcome/components/welcome_page.vue
@@ -129,7 +129,7 @@ export default {
         {{ __("Ok let's go") }}
       </gl-link>
       <p class="small mt-8">
-        <gl-link class="qa-skip-tour-btn" @click="skipTour">
+        <gl-link class="qa-skip-tour-btn" data-qa-selector="skip_for_now_link" @click="skipTour">
           {{ skipText }}
         </gl-link>
       </p>
diff --git a/qa/qa.rb b/qa/qa.rb
index d848aca9a669649a0ce1b854fc0f2019de7f82d7..3cbc590f1cd979534a748a49ad45b7590f88c396 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -183,6 +183,7 @@ module Main
       autoload :OAuth, 'qa/page/main/oauth'
       autoload :SignUp, 'qa/page/main/sign_up'
       autoload :Terms, 'qa/page/main/terms'
+      autoload :Onboarding, 'qa/page/main/onboarding'
     end
 
     module Settings
diff --git a/qa/qa/ee.rb b/qa/qa/ee.rb
index 8c85dd0ca10efb0a42551757d2bb18b408a17ea2..65137393c7ab2d733822a7f64755e82ba1ffe17b 100644
--- a/qa/qa/ee.rb
+++ b/qa/qa/ee.rb
@@ -49,6 +49,7 @@ module File
 
       module Main
         autoload :Banner, 'qa/ee/page/main/banner'
+        autoload :Onboarding, 'qa/ee/page/main/onboarding'
       end
 
       module Admin
diff --git a/qa/qa/ee/page/main/onboarding.rb b/qa/qa/ee/page/main/onboarding.rb
new file mode 100644
index 0000000000000000000000000000000000000000..8a3bad5f4d390f18f01d70a31275876ebd67767e
--- /dev/null
+++ b/qa/qa/ee/page/main/onboarding.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+module QA
+  module EE
+    module Page
+      module Main
+        module Onboarding
+          extend QA::Page::PageConcern
+
+          def self.prepended(base)
+            super
+
+            base.class_eval do
+              view 'ee/app/assets/javascripts/onboarding/onboarding_welcome/components/welcome_page.vue' do
+                element :skip_for_now_link, required: true
+              end
+            end
+          end
+
+          def skip_for_now
+            click_element :skip_for_now_link, ::QA::Page::Main::Menu
+          end
+        end
+      end
+    end
+  end
+end
diff --git a/qa/qa/page/main/login.rb b/qa/qa/page/main/login.rb
index 8eb28eb53e7f893f90b50d4e7617db1a9ca3b93f..c70c2bbd5d349c7d7936939171c6580af702f83f 100644
--- a/qa/qa/page/main/login.rb
+++ b/qa/qa/page/main/login.rb
@@ -165,6 +165,10 @@ def sign_in_using_gitlab_credentials(user:, skip_page_validation: false)
             terms.accept_terms if terms.visible?
           end
 
+          QA::Page::Main::Onboarding.perform do |onboarding|
+            onboarding.skip_for_now if onboarding.respond_to?(:skip_for_now) && onboarding.visible?
+          end
+
           Page::Main::Menu.validate_elements_present! unless skip_page_validation
         end
 
diff --git a/qa/qa/page/main/onboarding.rb b/qa/qa/page/main/onboarding.rb
new file mode 100644
index 0000000000000000000000000000000000000000..27c2b745e8ecb86482fdca0710cf42a5c445c93d
--- /dev/null
+++ b/qa/qa/page/main/onboarding.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+module QA
+  module Page
+    module Main
+      class Onboarding < Page::Base
+      end
+    end
+  end
+end
+
+QA::Page::Main::Onboarding.prepend_if_ee('QA::EE::Page::Main::Onboarding')
diff --git a/qa/qa/page/main/terms.rb b/qa/qa/page/main/terms.rb
index a0de267fb31cfd9b3c820e60a637479f3172a43d..bf3219a739f1ed030f4a35496c2a090c9b64d689 100644
--- a/qa/qa/page/main/terms.rb
+++ b/qa/qa/page/main/terms.rb
@@ -15,7 +15,7 @@ class Terms < Page::Base
         end
 
         def accept_terms
-          click_element :accept_terms_button, Page::Main::Menu
+          click_element :accept_terms_button
         end
       end
     end