Module: Chemlab::Support::Logging

Defined in:
lib/chemlab/support/logging.rb

Instance Method Summary collapse

Instance Method Details

#all_elements(name, **kwargs) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/chemlab/support/logging.rb', line 44

def all_elements(name, **kwargs)
  log("finding all :#{name} with args #{kwargs}")

  elements = super

  log("found #{elements.size} :#{name}") if elements

  elements
end

#assert_no_element(name) ⇒ Object



6
7
8
9
10
# File 'lib/chemlab/support/logging.rb', line 6

def assert_no_element(name)
  log("asserting no element :#{name}")

  super
end

#asset_exists?(url) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
32
# File 'lib/chemlab/support/logging.rb', line 26

def asset_exists?(url)
  exists = super

  log("asset_exists? #{url} returned #{exists}")

  exists
end

#check_element(name) ⇒ Object



54
55
56
57
58
# File 'lib/chemlab/support/logging.rb', line 54

def check_element(name)
  log("checking :#{name}")

  super
end

#click_element(name, page = nil, **kwargs) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/chemlab/support/logging.rb', line 66

def click_element(name, page = nil, **kwargs)
  msg = ["clicking :#{name}"]
  msg << ", expecting to be at #{page.class}" if page
  msg << "with args #{kwargs}"

  log(msg.compact.join(' '))

  super
end

#fill_element(name, content) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/chemlab/support/logging.rb', line 76

def fill_element(name, content)
  masked_content = name.to_s.include?('password') ? '*****' : content

  log(%Q(filling :#{name} with "#{masked_content}"))

  super
end

#find_element(name, **kwargs) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/chemlab/support/logging.rb', line 34

def find_element(name, **kwargs)
  log("finding :#{name} with args #{kwargs}")

  element = super

  log("found :#{name}") if element

  element
end

#finished_loading?Boolean

Returns:

  • (Boolean)


122
123
124
125
126
127
128
129
130
131
# File 'lib/chemlab/support/logging.rb', line 122

def finished_loading?
  log('waiting for loading to complete...')
  now = Time.now

  loaded = super

  log("loading complete after #{Time.now - now} seconds")

  loaded
end

#has_element?(name, **kwargs) ⇒ Boolean

Returns:

  • (Boolean)


90
91
92
93
94
95
96
# File 'lib/chemlab/support/logging.rb', line 90

def has_element?(name, **kwargs)
  found = super

  log_has_element_or_not('has_element?', name, found, **kwargs)

  found
end

#has_no_element?(name, **kwargs) ⇒ Boolean

Returns:

  • (Boolean)


98
99
100
101
102
103
104
# File 'lib/chemlab/support/logging.rb', line 98

def has_no_element?(name, **kwargs)
  found = super

  log_has_element_or_not('has_no_element?', name, found, **kwargs)

  found
end

#has_no_text?(text, **kwargs) ⇒ Boolean

Returns:

  • (Boolean)


114
115
116
117
118
119
120
# File 'lib/chemlab/support/logging.rb', line 114

def has_no_text?(text, **kwargs)
  found = super

  log(%Q{has_no_text?('#{text}', wait: #{kwargs[:wait] || Capybara.default_max_wait_time}) returned #{found}})

  found
end

#has_text?(text, **kwargs) ⇒ Boolean

Returns:

  • (Boolean)


106
107
108
109
110
111
112
# File 'lib/chemlab/support/logging.rb', line 106

def has_text?(text, **kwargs)
  found = super

  log(%Q{has_text?('#{text}', wait: #{kwargs[:wait] || Capybara.default_max_wait_time}) returned #{found}})

  found
end

#refreshObject



12
13
14
15
16
# File 'lib/chemlab/support/logging.rb', line 12

def refresh
  log("refreshing #{current_url}")

  super
end

#scroll_to(selector, text: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/chemlab/support/logging.rb', line 18

def scroll_to(selector, text: nil)
  msg = "scrolling to :#{selector}"
  msg += " with text: #{text}" if text
  log(msg)

  super
end

#select_element(name, value) ⇒ Object



84
85
86
87
88
# File 'lib/chemlab/support/logging.rb', line 84

def select_element(name, value)
  log(%Q(selecting "#{value}" in :#{name}))

  super
end

#uncheck_element(name) ⇒ Object



60
61
62
63
64
# File 'lib/chemlab/support/logging.rb', line 60

def uncheck_element(name)
  log("unchecking :#{name}")

  super
end

#wait_for_animated_element(name) ⇒ Object



133
134
135
136
137
# File 'lib/chemlab/support/logging.rb', line 133

def wait_for_animated_element(name)
  log("waiting for animated element: #{name}")

  super
end

#within_element(name, text: nil) ⇒ Object



139
140
141
142
143
144
145
146
147
# File 'lib/chemlab/support/logging.rb', line 139

def within_element(name, text: nil)
  log("within element :#{name}")

  element = super

  log("end within element :#{name}")

  element
end

#within_element_by_index(name, index) ⇒ Object



149
150
151
152
153
154
155
156
157
# File 'lib/chemlab/support/logging.rb', line 149

def within_element_by_index(name, index)
  log("within elements :#{name} at index #{index}")

  element = super

  log("end within elements :#{name} at index #{index}")

  element
end