class WebMonkey
Constants
- DEFAULT_WAIT_TIMEOUT
Attributes
driver[RW]
wait[RW]
Public Class Methods
new(driver:)
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 9 def initialize(driver:) self.driver = driver self.wait = Selenium::WebDriver::Wait.new(timeout: DEFAULT_WAIT_TIMEOUT) end
Public Instance Methods
execute_kraken_monkey(number_of_events)
click to toggle source
Helpers
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 15 def execute_kraken_monkey(number_of_events) number_of_events.times do |_i| execute_random_action end end
execute_random_action()
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 21 def execute_random_action arr = [ method(:random_click), method(:insert_random_text) ] arr.sample.call rescue StandardError => _e nil end
insert_random_text()
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 37 def insert_random_text element = @wait.until { driver.find_elements(:xpath, '//input').sample } highlight_element(element) element.click text = [Faker::Lorem.word, Faker::Lorem.sentence].sample element.send_keys(text) remove_element_highlight(element) end
random_click()
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 30 def random_click element = @wait.until { driver.find_elements(:xpath, '//*').sample } highlight_element(element) element.click remove_element_highlight(element) end
Private Instance Methods
highlight_element(element)
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 48 def highlight_element(element) @driver.execute_script( "arguments[0].setAttribute('style', arguments[1]);", element, 'color: red; border: 2px solid red' ) end
remove_element_highlight(element)
click to toggle source
# File lib/kraken-mobile/monkeys/web/web_monkey.rb, line 56 def remove_element_highlight(element) @driver.execute_script( "arguments[0].setAttribute('style', arguments[1]);", element, '' ) end