Module: Watirmark::Dialogs

Included in:
WebPage::Controller
Defined in:
lib/watirmark/controller/dialogs.rb

Instance Method Summary collapse

Instance Method Details

#close_chrome_windowsObject



24
25
26
# File 'lib/watirmark/controller/dialogs.rb', line 24

def close_chrome_windows
  Page.browser.windows(url: /chrome-extension/).each {|win| win.close}
end

#close_modal_windowObject



28
29
30
# File 'lib/watirmark/controller/dialogs.rb', line 28

def close_modal_window
  Page.browser.window(index: current_window_index+1).close if Page.browser.windows.size >= current_window_index
end

#current_window_indexObject



4
5
6
7
# File 'lib/watirmark/controller/dialogs.rb', line 4

def current_window_index
  current_window = Page.browser.window
  Page.browser.windows.find_index(current_window)
end

Returns:

  • (Boolean)


9
10
11
# File 'lib/watirmark/controller/dialogs.rb', line 9

def modal_exists?
  Page.browser.window(index: current_window_index+1).exists?
end

#wait_for_modal_dialogObject



13
14
15
16
17
# File 'lib/watirmark/controller/dialogs.rb', line 13

def wait_for_modal_dialog
  Watir::Wait.until { modal_exists? }
rescue TimeoutError
  raise Watirmark::TestError, 'Timed out while waiting for modal dialog to open'
end

#with_modal_dialog(&blk) ⇒ Object



19
20
21
22
# File 'lib/watirmark/controller/dialogs.rb', line 19

def with_modal_dialog &blk
  wait_for_modal_dialog
  Page.browser.windows.last.use &blk
end