Sha256: 76045d9e5bfbd6e5ea173c4242812bd4aab576066817411c756444de51739d86

Contents?: true

Size: 695 Bytes

Versions: 1

Compression:

Stored size: 695 Bytes

Contents

module Calliper
  class Page
    attr_writer :base_url

    def self.get(*args)
      page = new
      page.get(*args)
      page
    end

    def get(path, sync: true)
      url = path =~ %r(^http://) ? path : "#{base_url}#{path}"
      driver.get(url)

      if sync
        wait = Selenium::WebDriver::Wait.new(timeout: 10)
        wait.until { driver.find_element(css: "[ng-app]") }
      end
    end

    def base_url
      @base_url ||= Config.base_url
    end

    def driver
      Calliper.driver
    end

    def method_missing(method_name, *args)
      if driver.respond_to?(method_name)
        driver.__send__(method_name, *args)
      else
        super
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
calliper-0.0.1 lib/calliper/page.rb