Sha256: 80d3666fa18d5140c6cfb3ebe8e5de9b1ce6c6de1e91105117b751a16ce09a7e

Contents?: true

Size: 1.13 KB

Versions: 31

Compression:

Stored size: 1.13 KB

Contents

module Actir

  class BasicPage

    #include PageObject	
    
    def initialize(driver)
      case driver
      #若是浏览器对象
      when Watir::Browser, Browser
        @browser = driver
        #Appium TO-DO
      when Appium::Driver
        @appium = driver
      else
        raise "wrong driver"
      end
    end

    def method_missing(m, *args, &blk)
      if @browser.respond_to? m
        @browser.send(m, *args, &blk)
      elsif @appium.respond_to? m
        @appium.send(m, *args, &blk)
      else
        super
      end
    end 

    def turn_to kls
      raise "Invalid Page Error" unless kls <= Actir::BasicPage
      kls.new(@browser)
    end

    def data_driven hash, &blk
      raise "Argument Error" unless hash.is_a?(Hash)
      hash.each do |mtd, data|
        m_with_eql = (mtd.to_s + '=').to_sym
        if respond_to?(m_with_eql)
          eval "self.#{m_with_eql.to_s}(data)"
        elsif respond_to?(mtd.to_sym)
          self.send(mtd.to_sym).send(data.to_sym) 
        end #if
      end #each
      class_eval &blk if block_given?
    end

  end #BasicPage
end #Actir

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
actir-1.4.3.5 lib/actir/basic_page.rb
actir-1.4.3.4 lib/actir/basic_page.rb
actir-1.4.3.3 lib/actir/basic_page.rb
actir-1.4.3.2 lib/actir/basic_page.rb
actir-1.4.3.1 lib/actir/basic_page.rb
actir-1.4.3 lib/actir/basic_page.rb
actir-1.4.2 lib/actir/basic_page.rb
actir-1.4.1.3 lib/actir/basic_page.rb
actir-1.4.1.2 lib/actir/basic_page.rb
actir-1.4.1.1 lib/actir/basic_page.rb
actir-1.4.1 lib/actir/basic_page.rb
actir-1.4.0 lib/actir/basic_page.rb
actir-1.3.1 lib/actir/basic_page.rb
actir-1.3.0 lib/actir/basic_page.rb
actir-1.2.8 lib/actir/basic_page.rb
actir-1.2.7 lib/actir/basic_page.rb
actir-1.2.6 lib/actir/basic_page.rb
actir-1.2.5 lib/actir/basic_page.rb
actir-1.2.4 lib/actir/basic_page.rb
actir-1.2.3 lib/actir/basic_page.rb