class LoginPage

Constants

DISABLE_2STEP_URL

Public Class Methods

browser() click to toggle source

@return [Watir::Browser]

# File lib/leap_salesforce_ui/login_page.rb, line 8
def browser
  LeapSalesforce.browser
end
error_message() click to toggle source
# File lib/leap_salesforce_ui/login_page.rb, line 16
def error_message
  error_message_element.text
end
error_message?() click to toggle source
# File lib/leap_salesforce_ui/login_page.rb, line 20
def error_message?
  error_message_element.present?
end
error_message_element() click to toggle source
# File lib/leap_salesforce_ui/login_page.rb, line 12
def error_message_element
  browser.div(id: "error")
end
login() click to toggle source
# File lib/leap_salesforce_ui/login_page.rb, line 43
def login
  LeapSalesforce.logger.info "Logging in as user '#{LeapSalesforce.ui_user}'"
  browser.goto "#{LeapSalesforce.general_url}/?un=#{LeapSalesforce.ui_user}&pw=#{LeapSalesforce.password}"
  continue_button = browser.button(id: "thePage:inputForm:continue")
  if continue_button.exists?
    browser.checkbox(id: "thePage:inputForm:remember").set
    continue_button.click
  end
end
login_manually() click to toggle source

Could be used if a user wants to login through UI for login specific tests which should not be necessary

# File lib/leap_salesforce_ui/login_page.rb, line 26
    def login_manually
      browser.goto LeapSalesforce.general_url
      browser.text_field(id: "username").set(LeapSalesforce.ui_user)
      browser.text_field(id: "password").set(LeapSalesforce.password)
      browser.button(id: "Login").click
      Watir::Wait.until(timeout: 60, message: "Did not login within the expected time") do
        raise "Cannot Login. #{error_message}" if error_message?

        if browser.url.include? "_ui/identity/verification/"
          raise LeapSalesforce::SetupError, "2 step verification page appears.
Go to #{DISABLE_2STEP_URL} to learn how to disable it"
        end

        !browser.url.include? LeapSalesforce.general_url
      end
    end