Multiple test failures around fork specs due to 'Unable to find css fork_namespace_button'
Summary
Multiple tests started failing today on Staging due to qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb
with the error Unable to find css "[data-qa-selector=\"fork_namespace_button\"][data-qa-name=\"gitlab-qa-forker\"],.qa-fork-namespace-button"
on the Project fork page.
-
merge_merge_request_from_fork_spec.rb
- Found on Staging -
prevent_forking_outside_group_spec.rb
- Found on Staging
In both cases it appears to be due to potential changes on the Project Fork page.
Stack trace
merge_merge_request_from_fork_spec.rb
1) Create Merge request creation from fork can merge feature branch fork to mainline
Failure/Error:
Resource::MergeRequestFromFork.fabricate_via_browser_ui! do |merge_request|
merge_request.fork_branch = 'feature-branch'
end
Capybara::ElementNotFound:
Unable to find css "[data-qa-selector=\"fork_namespace_button\"][data-qa-name=\"gitlab-qa-forker\"],.qa-fork-namespace-button"
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:296:in `block in synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/base.rb:83:in `synchronize'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:287:in `synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:52:in `find'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/session.rb:749:in `block (2 levels) in <class:Session>'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./qa/page/base.rb:170:in `click_element'
# ./qa/support/page/logging.rb:80:in `click_element'
# ./qa/page/project/fork/new.rb:17:in `choose_namespace'
# ./qa/resource/fork.rb:46:in `block in fabricate!'
# ./qa/scenario/actable.rb:16:in `perform'
# ./qa/resource/fork.rb:45:in `fabricate!'
# ./qa/resource/base.rb:30:in `block (2 levels) in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:135:in `log_fabrication'
# ./qa/resource/base.rb:30:in `block in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:118:in `do_fabricate!'
# ./qa/resource/base.rb:29:in `fabricate_via_browser_ui!'
# ./qa/resource/merge_request_from_fork.rb:11:in `block in <class:MergeRequestFromFork>'
# ./qa/resource/base.rb:108:in `instance_exec'
# ./qa/resource/base.rb:108:in `attribute_value'
# ./qa/resource/base.rb:94:in `populate_attribute'
# ./qa/resource/base.rb:161:in `block (2 levels) in attribute'
# ./qa/resource/merge_request_from_fork.rb:16:in `block (2 levels) in <class:MergeRequestFromFork>'
# ./qa/resource/base.rb:116:in `do_fabricate!'
# ./qa/resource/base.rb:29:in `fabricate_via_browser_ui!'
# ./qa/resource/base.rb:21:in `rescue in fabricate!'
# ./qa/resource/base.rb:18:in `fabricate!'
# ./qa/resource/merge_request_from_fork.rb:15:in `block in <class:MergeRequestFromFork>'
# ./qa/resource/base.rb:108:in `instance_exec'
# ./qa/resource/base.rb:108:in `attribute_value'
# ./qa/resource/base.rb:94:in `populate_attribute'
# ./qa/resource/base.rb:161:in `block (2 levels) in attribute'
# ./qa/resource/base.rb:82:in `public_send'
# ./qa/resource/base.rb:82:in `each'
# ./qa/resource/base.rb:82:in `populate'
# ./qa/resource/merge_request_from_fork.rb:24:in `fabricate!'
# ./qa/resource/base.rb:30:in `block (2 levels) in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:135:in `log_fabrication'
# ./qa/resource/base.rb:30:in `block in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:118:in `do_fabricate!'
# ./qa/resource/base.rb:29:in `fabricate_via_browser_ui!'
# ./qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb:7:in `block (3 levels) in <module:QA>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:78:in `block (2 levels) in <top (required)>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./qa/specs/runner.rb:73:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/template.rb:35:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/bootable.rb:28:in `launch!'
# ------------------
# --- Caused by: ---
# NotImplementedError:
# NotImplementedError
# ./qa/resource/base.rb:41:in `fabricate_via_api!'
prevent_forking_outside_group_spec.rb
1) Manage prevent forking outside group when disabled allows forking outside of group
Failure/Error: fork_new.search_for_group(group_for_fork.path)
Capybara::ElementNotFound:
Unable to find css "[data-qa-selector=\"fork_groups_list_search_field\"],.qa-fork-groups-list-search-field"
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:296:in `block in synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/base.rb:83:in `synchronize'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:287:in `synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:52:in `find'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/session.rb:749:in `block (2 levels) in <class:Session>'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./qa/page/base.rb:110:in `find_element'
# ./qa/support/page/logging.rb:38:in `find_element'
# ./qa/page/project/fork/new.rb:21:in `search_for_group'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:65:in `block in visit_project_and_search_group_for_fork'
# ./qa/scenario/actable.rb:16:in `perform'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:64:in `visit_project_and_search_group_for_fork'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:25:in `block (4 levels) in <module:QA>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:78:in `block (2 levels) in <top (required)>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./qa/specs/runner.rb:73:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/template.rb:35:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/bootable.rb:28:in `launch!'
2) Manage prevent forking outside group when enabled does not allow forking outside of group
Failure/Error: fork_new.search_for_group(group_for_fork.path)
Capybara::ElementNotFound:
Unable to find css "[data-qa-selector=\"fork_groups_list_search_field\"],.qa-fork-groups-list-search-field"
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:296:in `block in synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/base.rb:83:in `synchronize'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:287:in `synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:52:in `find'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/session.rb:749:in `block (2 levels) in <class:Session>'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./qa/page/base.rb:110:in `find_element'
# ./qa/support/page/logging.rb:38:in `find_element'
# ./qa/page/project/fork/new.rb:21:in `search_for_group'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:65:in `block in visit_project_and_search_group_for_fork'
# ./qa/scenario/actable.rb:16:in `perform'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:64:in `visit_project_and_search_group_for_fork'
# ./qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb:38:in `block (4 levels) in <module:QA>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:78:in `block (2 levels) in <top (required)>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./qa/specs/runner.rb:73:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/template.rb:35:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/bootable.rb:28:in `launch!'
Screenshot / HTML page
create_merge_request_creation_from_fork_can_merge_feature_branch_fork_to_mainline.html
Possible fixes
Edited by Grant Young