diff options
Diffstat (limited to 'qa/qa/page/base.rb')
-rw-r--r-- | qa/qa/page/base.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb index 526dd25ccc9..83db8bc0fd6 100644 --- a/qa/qa/page/base.rb +++ b/qa/qa/page/base.rb @@ -133,7 +133,9 @@ module QA end def all_elements(name, **kwargs) - if kwargs.keys.none? { |key| [:minimum, :maximum, :count, :between].include?(key) } + all_args = [:minimum, :maximum, :count, :between] + + if kwargs.keys.none? { |key| all_args.include?(key) } raise ArgumentError, "Please use :minimum, :maximum, :count, or :between so that all is more reliable" end @@ -247,6 +249,8 @@ module QA else find_element(name, **original_kwargs).disabled? == disabled end + rescue Capybara::ElementNotFound + false end # Check for the element before waiting for requests, just in case unrelated requests are in progress. @@ -467,8 +471,8 @@ module QA return element_when_flag_disabled if has_element?(element_when_flag_disabled) raise ElementNotFound, - "Could not find the expected element as #{element_when_flag_enabled} or #{element_when_flag_disabled}." \ - "The relevant feature flag is #{feature_flag}" + "Could not find the expected element as #{element_when_flag_enabled} or #{element_when_flag_disabled}." \ + "The relevant feature flag is #{feature_flag}" end end end |