Sha256: 70d03b9c32b754c9a5b6a905250b9a5879a1613c76950cb586ccc89fa5abe82b
Contents?: true
Size: 1.68 KB
Versions: 9
Compression:
Stored size: 1.68 KB
Contents
module Mohawk module Adapters module UIA class Control include Mohawk::Waiter class << self attr_reader :patterns def valid_patterns(*patterns) @patterns = patterns end end def initialize(adapter, locator) @parent = adapter.window.element @locator = locator end def click element.click end def focus element.focus end def exist? locate_element != nil end alias_method :exists?, :exist? def enabled? exist? && element.enabled? end def disabled? !enabled? end def visible? exist? && element.visible? end def element @element ||= wait_until { locate_element } end def handle element.handle end def value element.name end alias_method :control_name, :value def view self end def method_missing(meth, *args, &block) if element.respond_to? meth element.send meth, *args, &block else super end end private def locate_element scope = (@locator.delete(:children_only) && :children) || :descendants locator = @locator.merge(scope: scope) patterns = @locator.delete(:pattern) || self.class.patterns locator.merge!(pattern: patterns) if patterns @parent.find locator end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems