class WdaClient

Constants

BASE_URL
VERSION

Attributes

base_url[R]
capabilities[RW]
desired_capabilities[RW]
session_id[RW]
status[RW]

Public Class Methods

new(desired_capabilities:, base_url: BASE_URL) click to toggle source
# File lib/wda_client.rb, line 23
def initialize(desired_capabilities:, base_url: BASE_URL)
  @desired_capabilities = parse(desired_capabilities)
  @base_url = URI.parse(base_url)
  @capabilities = nil
  @session_id = nil
  @status = 0
end

Public Instance Methods

generate_base_req(method:, url_path:) click to toggle source
# File lib/wda_client.rb, line 31
def generate_base_req(method:, url_path:)
  req = case method
        when :get
          Net::HTTP::Get.new(url_path)
        when :post
          Net::HTTP::Post.new(url_path)
        when :delete
          Net::HTTP::Delete.new(url_path)
        else
          # no method
        end
  req['Content-Type'] = 'application/json'

  req
end

Private Instance Methods

parse(caps) click to toggle source
# File lib/wda_client.rb, line 49
def parse(caps)
  parsed_caps = JSON.parse(caps)
  raise ArgumentError, 'should caps has desiredCapabilities' if parsed_caps['desiredCapabilities'].nil?
  raise ArgumentError, 'should caps has bundleId' if parsed_caps['desiredCapabilities']['bundleId'].nil?

  parsed_caps
end