Module: Watir::AlertHelper

Included in:
Browser
Defined in:
lib/watir-webdriver/extensions/alerts.rb

Overview

Deprecated, use the new Alert API instead.

Module provided by optional require:

require "watir-webdriver/extensions/alerts"

Instance Method Summary collapse

Instance Method Details

#alert(&blk) ⇒ Object

Overwrite window.alert()

This method is provided by an optional require - API is subject to change.

Examples:

browser.alert do
  browser.button(:value => "Alert").click
end #=> "the alert message"


24
25
26
27
28
29
# File 'lib/watir-webdriver/extensions/alerts.rb', line 24

def alert(&blk)
  warn 'AlertHelper is deprecated. Use the new Alert API instead (e.g. browser.alert.ok)'
  execute_script "window.alert = function(msg) { window.__lastWatirAlert = msg; }"
  yield
  execute_script "return window.__lastWatirAlert"
end

#confirm(bool, &blk) ⇒ Object

Overwrite window.confirm()

This method is provided by an optional require - API is subject to change.

Examples:

browser.confirm(true) do
  browser.button(:value => "Confirm").click
end #=> "the confirm message"


41
42
43
44
45
46
# File 'lib/watir-webdriver/extensions/alerts.rb', line 41

def confirm(bool, &blk)
  warn 'AlertHelper is deprecated. Use the new Alert API instead (e.g. browser.alert.ok)'
  execute_script "window.confirm = function(msg) { window.__lastWatirConfirm = msg; return #{!!bool} }"
  yield
  execute_script "return window.__lastWatirConfirm"
end

#prompt(answer, &blk) ⇒ Object

Overwrite window.prompt()

This method is provided by an optional require - API is subject to change.

Examples:

browser.prompt("hello") do
  browser.button(:value => "Prompt").click
end #=> { :message => "foo", :default_value => "bar" }


59
60
61
62
63
64
65
66
67
# File 'lib/watir-webdriver/extensions/alerts.rb', line 59

def prompt(answer, &blk)
  warn 'AlertHelper is deprecated. Use the new Alert API instead (e.g. browser.alert.ok)'
  execute_script "window.prompt = function(text, value) { window.__lastWatirPrompt = { message: text, default_value: value }; return #{MultiJson.encode answer}; }"
  yield
  result = execute_script "return window.__lastWatirPrompt"

  result && result.dup.each_key { |k| result[k.to_sym] = result.delete(k)}
  result
end