module LeapSalesforce

Adding additional UI capability to leap_salesforce gem

Attributes

headless[RW]

@return [Boolean] Whether to run in headless mode. Default false

ui_user[R]

@return [String] User used for UI tests

Public Class Methods

browser(test_name = nil) click to toggle source
# File lib/leap_salesforce_ui.rb, line 39
def browser(test_name = nil)
  @browser ||= new_browser(test_name)
end
close_browser() click to toggle source
# File lib/leap_salesforce_ui.rb, line 43
def close_browser
  @browser&.close
  @browser = nil
end
ui_user=(user) click to toggle source

@param [String, Symbol, Regexp, LeapSalesforce::User] user User or email address of user

# File lib/leap_salesforce_ui.rb, line 55
def ui_user=(user)
  @ui_user = if user.is_a? String
               user
             else
               LeapSalesforce::Users.where(user)&.username
             end
  Soaspec::SpecLogger.info "Using user '#{@ui_user}' for UI"
end

Private Class Methods

new_browser(test_name = nil) click to toggle source
# File lib/leap_salesforce_ui.rb, line 66
def new_browser(test_name = nil)
  if ENV["WEBDRIVER_URL"]
    # TODO: Get working on Ruby 3
    Watir::Browser.new :chrome, { **zalenium_args("LeapSalesforce", test_name || "Test") }
  else
    args = {}
    args[:headless] = true if headless
    Watir::Browser.new :chrome, args
  end
end