module BasicMethods

encoding : utf-8

Public Instance Methods

browser_alert(option) click to toggle source
# File lib/basic_methods.rb, line 51
def browser_alert (option)
  option = option.downcase
  case option
    when 'ok'
      $browser.alert.ok
    when 'cancel'
      $browser.alert.close
    else
      raise 'invalid option for step definition selected!'
  end
end
check_actual_url(url) click to toggle source
# File lib/basic_methods.rb, line 35
def check_actual_url (url)
  if eval(url) != nil
    unless $browser.url.include? eval(url)
      p $browser.url
      p eval(url)
      raise 'Incorrect URL!'
    end
  else
    unless $browser.url.include? url
      p $browser.url
      p url
      raise 'Incorrect URL!'
    end
  end
end
check_checkbox(check, element) click to toggle source
# File lib/basic_methods.rb, line 94
def check_checkbox (check, element)
  element = element.downcase.gsub(' ', '_')
  wait_until{send("#{element}?")}

  select = send("#{element}_element")
  wait_until{select.visible?}

  if check.downcase == 'check'
    send("check_#{element}")
  elsif check.downcase == 'uncheck'
    send("uncheck_#{element}")
  else
    raise 'check option unselected!'
  end
end
check_element_contains(element_objective, element_memory) click to toggle source
# File lib/basic_methods.rb, line 166
def check_element_contains(element_objective, element_memory)
  element_objective = element_objective.downcase.gsub(' ', '_')
  element_memory = element_memory.downcase.gsub(' ', '_')
  wait_until{send("#{element_objective}?")}
  value = "false"
  select_primary = send("#{element_objective}")
  if select_primary.downcase.include? $advanced_text_info[element_memory].downcase
    value = "true"
  end

  unless value == "true"
    raise 'Not found'
  end
end
check_existence_element(exist, element) click to toggle source
# File lib/basic_methods.rb, line 110
def check_existence_element(exist, element)
  element = element.downcase.gsub(' ', '_')

  if exist == 'existence'
    unless wait_until{send("#{element}?")}
      raise "#{element} was not found!"
    end

  elsif exist == 'non existence'
    if send("#{element}?")
      raise "#{element} was found!"
    end

  else 'Incorrect option selected'
  end
end
click_element(element) click to toggle source
# File lib/basic_methods.rb, line 84
def click_element (element)
  element = element.downcase.gsub(' ', '_')
  wait_until{send("#{element}?")}

  select = send("#{element}_element")
  wait_until{select.visible?}

  select.click
end
hover_element(element) click to toggle source
# File lib/basic_methods.rb, line 74
def hover_element (element)
  element = element.downcase.gsub(' ', '_')
  wait_until{send("#{element}?")}

  select = send("#{element}_element")
  wait_until{select.visible?}

  select.hover
end
input_text_field(element, faker = 'lorem paragraph') click to toggle source
# File lib/basic_methods.rb, line 132
def input_text_field (element, faker = 'lorem paragraph')
  element = element.downcase.gsub(' ', '_')

  case faker.downcase
    when 'lorem paragraph'
      sample_text = Faker::Lorem.paragraph
    when 'lorem name'
      sample_text = Faker::Name.name
    when 'lorem street'
      sample_text = Faker::Address.street_address
    when 'lorem zip'
      sample_text = Faker::Address.zip_code
    when 'lorem phone'
      sample_text = Faker::PhoneNumber.phone_number
    when 'lorem email'
      sample_text = Faker::Internet.email
    when 'lorem url'
      sample_text = Faker::Internet.url
    else
      if $advanced_text_info[faker] != nil
        sample_text = $advanced_text_info[faker]
      else
        sample_text = faker.to_s
      end
  end
  $advanced_text_info[element] = sample_text

  wait_until{send("#{element}?")}
  select = send("#{element}_element")
  wait_until{select.visible?}

  send("#{element}=", sample_text)
end
record_element_text(element) click to toggle source
# File lib/basic_methods.rb, line 127
def record_element_text(element)
  select = send("#{element}_element")
  $advanced_text_info[element] = select.text
end
refresh_until_element_not_present(times, seconds, element) click to toggle source
# File lib/basic_methods.rb, line 21
def refresh_until_element_not_present (times, seconds, element)
  element = element.downcase.gsub(' ', '_')
  exists = send("#{element}?")
  visible = send("#{element}_element")
  times.to_i.times do
    if exists && visible.visible?
      sleep seconds.to_i
      $browser.refresh
    else
      return true
    end
  end
end
refresh_until_element_present(times, seconds, element) click to toggle source
# File lib/basic_methods.rb, line 7
def refresh_until_element_present (times, seconds, element)
  element = element.downcase.gsub(' ', '_')
  exists = send("#{element}?")
  visible = send("#{element}_element")
  times.to_i.times do
    if exists && visible.visible?
      return true
    else
      sleep seconds.to_i
      $browser.refresh
    end
  end
end
select_element(option, element) click to toggle source
# File lib/basic_methods.rb, line 63
def select_element (option, element)
  element = element.downcase.gsub(' ', '_')
  wait_until{send("#{element}?")}
  object = send("#{element}_element")
  wait_until{object.visible?}
  wait_until{object.enabled?}
  object.select(option)

  $advanced_text_info[element] = option
end