Sha256: 31010ee6e219b9256d50f5bf01fd93579923790b3674781f395de64121ea0fd0

Contents?: true

Size: 1.15 KB

Versions: 7

Compression:

Stored size: 1.15 KB

Contents

module Celerity
  module ClickableElement

    #
    # click the element
    #

    def click
      assert_exists_and_enabled
      rescue_status_code_exception { @container.update_page(@object.click) }
    end

    #
    # double click the element (Celerity only)
    #

    def double_click
      assert_exists_and_enabled
      rescue_status_code_exception { @container.update_page(@object.dblClick) }
    end

    #
    # right click the element (Celerity only)
    #

    def right_click
      assert_exists_and_enabled
      rescue_status_code_exception { @container.update_page(@object.rightClick) }
    end

    #
    # Click the element and return a new Browser instance with the resulting page.
    # This is useful for elements that trigger popups when clicked.
    #
    # @return [Celerity::Browser]
    #

    def click_and_attach
      assert_exists_and_enabled
      browser = Browser.new(:log_level => @browser.log_level)
      rescue_status_code_exception { browser.update_page(@object.click) }

      browser
    end

    private

    def assert_exists_and_enabled
      assert_exists
      assert_enabled if respond_to?(:assert_enabled)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
jarib-celerity-0.0.6.1 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.2 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.3 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.4 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.5 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.6 lib/celerity/clickable_element.rb
jarib-celerity-0.0.6.7 lib/celerity/clickable_element.rb