diff --git a/app/helpers/dropdowns_helper.rb b/app/helpers/dropdowns_helper.rb
index 64c5fae7d9698575d665f2b5c6a6a4d9733299ff..772a5f79a4dc69c1e3d8a4b3bc07dc505c7f9103 100644
--- a/app/helpers/dropdowns_helper.rb
+++ b/app/helpers/dropdowns_helper.rb
@@ -15,7 +15,10 @@ def dropdown_tag(toggle_text, options: {}, &block)
         dropdown_output = dropdown_toggle_link(toggle_text, data_attr, options)
       end
 
-      dropdown_output << content_tag(:div, class: "dropdown-menu dropdown-select #{options[:dropdown_class] if options.key?(:dropdown_class)}") do
+      content_tag_options = { class: "dropdown-menu dropdown-select #{options[:dropdown_class] if options.key?(:dropdown_class)}" }
+      content_tag_options[:data] = { qa_selector: "#{options[:dropdown_qa_selector]}" } if options[:dropdown_qa_selector]
+
+      dropdown_output << content_tag(:div, content_tag_options) do
         output = []
 
         if options.key?(:title)
diff --git a/app/views/projects/protected_tags/_create_protected_tag.html.haml b/app/views/projects/protected_tags/_create_protected_tag.html.haml
index 7a7390efe511b577e4291e2e4da3fb63fbf26d46..d19a6401fc8295b705d0603e560ce5c7682b1daa 100644
--- a/app/views/projects/protected_tags/_create_protected_tag.html.haml
+++ b/app/views/projects/protected_tags/_create_protected_tag.html.haml
@@ -1,8 +1,9 @@
 - content_for :create_access_levels do
-  .create_access_levels-container{ data: { qa_selector: 'access_levels_content' } }
+  .create_access_levels-container
     = dropdown_tag('Select',
                    options: { toggle_class: 'js-allowed-to-create wide',
                    dropdown_class: 'dropdown-menu-selectable capitalize-header',
+                   dropdown_qa_selector: 'access_levels_content',
                    data: { field_name: 'protected_tag[create_access_levels_attributes][0][access_level]', input_id: 'create_access_levels_attributes', qa_selector: 'access_levels_dropdown' }})
 
 = render 'projects/protected_tags/shared/create_protected_tag'
diff --git a/ee/app/views/projects/protected_tags/ee/_create_protected_tag.html.haml b/ee/app/views/projects/protected_tags/ee/_create_protected_tag.html.haml
index 5c2ee16415255e27c4b10052ff1513aa5769b988..ebc712dcaa82b2e1d7ca1c4bbf5ac360c02519b1 100644
--- a/ee/app/views/projects/protected_tags/ee/_create_protected_tag.html.haml
+++ b/ee/app/views/projects/protected_tags/ee/_create_protected_tag.html.haml
@@ -1,8 +1,9 @@
 - content_for :create_access_levels do
-  .create_access_levels-container{ data: { qa_selector: 'access_levels_content' } }
+  .create_access_levels-container
     = dropdown_tag('Select',
                    options: { toggle_class: 'js-allowed-to-create js-multiselect wide',
                    dropdown_class: 'dropdown-menu-user dropdown-menu-selectable capitalize-header', filter: true,
+                   dropdown_qa_selector: 'access_levels_content',
                    data: { input_id: 'create_access_levels_attributes', default_label: 'Select', qa_selector: 'access_levels_dropdown' } })
   .form-text.text-muted
     Only groups that
diff --git a/qa/qa/page/project/settings/protected_tags.rb b/qa/qa/page/project/settings/protected_tags.rb
index 0b9765dd9eaa362b74e2a0da6ba6cb5acedc1d29..bf8f349cfd58073cdd3f68a43d0d258625e459e1 100644
--- a/qa/qa/page/project/settings/protected_tags.rb
+++ b/qa/qa/page/project/settings/protected_tags.rb
@@ -26,6 +26,8 @@ def set_tag(tag_name)
           end
 
           def choose_access_level_role(role)
+            return if find_element(:access_levels_dropdown).text == role
+
             click_element :access_levels_dropdown
             within_element(:access_levels_content) do
               click_on role