class AutomationObject::State::ElementRequirement

Element requirement hook loop

Public Instance Methods

element() click to toggle source
# File lib/automation_object/state/hook_actions/element_requirement.rb, line 9
def element
  @element ||= driver.find_element(*blue_prints.element_blueprints.selector_params)
end
single_run() click to toggle source
# File lib/automation_object/state/hook_actions/element_requirement.rb, line 13
def single_run
  blue_prints.hook_order.each do |requirement_name|
    next if blue_prints.requirement(requirement_name).nil?

    requirement_value = blue_prints.requirement(requirement_name)

    case requirement_name
    when :exists?
      return false if requirement_value != driver.exists?(*blue_prints.element_blueprints.selector_params)
    else
      return false if requirement_value != element.send(requirement_name)
    end
  end

  true
end