Sha256: e87c348ccd76528b6aec8e1853abfc82ae27f0a149d7be3a48ab67b55273191a

Contents?: true

Size: 1.87 KB

Versions: 2

Compression:

Stored size: 1.87 KB

Contents

Dir[File.dirname(__FILE__) + "/*.rb"].each do |file| 
  require file 
end

module Cello
  module PageObjects
    module ElementHelper
      
      private

      def element(name, type, *args)        
        class_eval do
          define_method name do
            engine.browser.send(type, *args)
          end

          #define_extras(name, type)
          define_extras(name, type)
        end

      end

      def define_extras(name, type)
        include LogHelper
        
        define_method "#{name}_exit_wait?" do
            send(name).visible? 
        end

        define_method "#{name}_is_enable?" do
          logger(name, __method__, type) {
            send(name).enabled? 
          }
        end
        define_method "#{name}_is_real?" do
          logger(name, __method__, type, "Foo") {
            send(name).exists?        
          }
        end
        define_method "#{name}_click" do
          logger(name, __method__, type) {
#            require "pry"; binding.pry
            send(name).click
          }
        end
        define_method "#{name}_is_visible?" do
          logger(name, __method__, type) {
            send(name).visible?
          }
        end
        define_method "#{name}_right_click" do
          logger(name, __method__, type) {
            send(name).right_click
          }
        end

        define_method "#{name}_get" do |att|
          logger(name, __method__, type) {
            send(name).attribute_value(att)
          }
        end

        method_name = "define_extras_for_#{type}"
        send(method_name, name) if respond_to? method_name
      end
      

     include CheckboxHelper
     include TextfieldHelper
     include TextareaHelper
     include SelectHelper
     include DivHelper
     include RadioHelper
     include LinkHelper
     include ButtonHelper
     include SpanHelper
     include HiddenHelper

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cello-0.0.23 lib/cello/pageobjects/html_elements/element_helper.rb
cello-0.0.21 lib/cello/pageobjects/html_elements/element_helper.rb