class CatGem

Public Instance Methods

cat_sleep(secs) click to toggle source
# File lib/catgem.rb, line 28
def cat_sleep(secs)
      # todo replace sleep with something better at a later date
      # for now break the sleep into 0.5 second chucks to stop CPU becoming locked
      puts("Inside " + __method__.to_s)
      counter = secs * 2
      counter.times {sleep(0.5)}
end
check_for_firefox(browser) click to toggle source
# File lib/catgem.rb, line 36
def check_for_firefox(browser)
  # check which browser is running
  # if firefox add the dreaded sleep at selected points
  # to assist with firefox slowness
  #
  if(browser.driver.browser.to_s.downcase == "firefox")
        puts("Inside " + __method__.to_s)
    cat_sleep 2
  end
end
doc_count(browser) click to toggle source
# File lib/catgem.rb, line 23
def doc_count(browser)
      puts("Inside " + __method__.to_s)
      browser.divs(:class => ['col-12','col-sm-6','my-2','ng-star-inserted']).count
end
fill_text_box(the_text,the_field, browser) click to toggle source
# File lib/catgem.rb, line 17
def fill_text_box(the_text,the_field, browser)
  puts("Inside " + __method__.to_s)
  # populate using java script, much faster
  browser.execute_script("arguments[0].value = '#{the_text}';", the_field)
end
login_if_required(username, password, browser) click to toggle source
# File lib/catgem.rb, line 8
def login_if_required(username, password, browser)
  # if re-directed to the login page
  # do as requested and login
  puts("Inside " + __method__.to_s + " with username " + username + " and password " + password)
  if browser.text_field(:id => "username").present?
    login_members_portal(username, password, browser)
  end
end
login_members_portal(username, password, browser) click to toggle source
# File lib/catgem.rb, line 47
def login_members_portal(username, password, browser)
  # login to the trades portal
  puts("Inside " + __method__.to_s + " with username " + username + " and password " + password)
  cat_sleep 2
      browser.text_field(:id => "username").set username
      browser.text_field(:id => "password").set password
  #sometimes this process can be very slow on preview, so allow a little sleep
  cat_sleep 2
      browser.button(:class => 'btn-primary').click
end
login_members_portal_rename(username, password, tempusername, browser) click to toggle source
# File lib/catgem.rb, line 58
def login_members_portal_rename(username, password, tempusername, browser)
  puts("Inside " + __method__.to_s + " with username " + username + " and password " + password + " and temp username " + tempusername)
  login_members_portal(username, password, browser)
  # unable to use a wait here because depending on result
  # different pages could be visible, so sleep is only option
  cat_sleep 3
      if browser.div(:class => 'alert-danger').present?
    #unable to login, try standard username
    login_members_portal(FigNewton::tempusername, password, browser)
  end
end
return_current_month() click to toggle source
# File lib/catgem.rb, line 3
def return_current_month
  month = Date.today.strftime("%m")
  month
end