Class: TestSteps::Handlers::ClickButton
- Defined in:
- lib/functions/handlers/click_button.rb
Instance Method Summary collapse
Methods inherited from Base
#login_button, #login_check, #login_process, #mem_word_check, #open_url_process, perform, #portal_mem_word, register
Instance Method Details
#perform(step_attributes) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/functions/handlers/click_button.rb', line 8 def perform(step_attributes) = step_attributes[:testvalue] locate = step_attributes[:locate] elms = %i[button span a div link image h1 h2 h3 h4] = elms.map do |elm| Browser.b.send(elm, "#{locate}": ).exists? end.compact raise 'Multiple matches' if .select { |i| i }.empty? index = .index(true) return unless index case index when 0 Browser.b.("#{locate}": ).wait_until(&:exists?).click when 1 Browser.b.span("#{locate}": ).wait_until(&:exists?).click when 2 Browser.b.a("#{locate}": ).wait_until(&:exists?).click when 3 Browser.b.div("#{locate}": ).wait_until(&:exists?).click when 4 Browser.b.link("#{locate}": ).wait_until(&:exists?).click when 5 Browser.b.image("#{locate}": ).wait_until(&:exists?).click when 6 Browser.b.h1("#{locate}": ).wait_until(&:exists?).click when 7 Browser.b.h2("#{locate}": ).wait_until(&:exists?).click when 8 Browser.b.h3("#{locate}": ).wait_until(&:exists?).click when 9 Browser.b.h4("#{locate}": ).wait_until(&:exists?).click end MyLog.log.info("Button: #{} has been selected") true rescue StandardError MyLog.log.warn("Button: #{} does not exist") false end |