Я посмотрел здесь: http://wiki.openqa.org/display/WTR/JavaScript+Pop+Upsоповещения окно в Waitr WebDriver
Каждое решение для IE на Windows. Я использую Firefox на Mac. Есть ли способ щелкнуть ОК в окне предупреждения JavaScript?
Я посмотрел здесь: http://wiki.openqa.org/display/WTR/JavaScript+Pop+Upsоповещения окно в Waitr WebDriver
Каждое решение для IE на Windows. Я использую Firefox на Mac. Есть ли способ щелкнуть ОК в окне предупреждения JavaScript?
Правильная обработка оповещений и подсказок по-прежнему being worked on в WebDriver, но общий обходной путь, чтобы переписать функции окна с помощью execute_script(), т.е.
browser.execute_script("window.alert = function(msg) { window.lastAlert = msg; }")
browser.button(:id => "trigger-alert").click
browser.execute_script("return window.lastAlert") #=> "the message"
Так как я хотел бы избежать кучу обезьяну пластыри плавающих вокруг (общие проблемы в обществе Watir), я добавил некоторые helper methods в качестве опции требуется - после следующего релиза вы должны быть в состоянии сделать:
require "watir-webdriver/extensions/alerts"
browser.alert do
browser.button(:id => "alert").click
end #=> "the alert message"
browser.confirm(true) do
browser.button(:id => "confirm").click
end #=> "the confirm message"
browser.prompt("returned value") do
browser.button(:id => "prompt").click
end #=> { :message => "foo", :default => "bar" }
Обратите внимание, что это временно и API май быть удалены в будущем, когда проблема будет решена в WebDriver.
UPDATE:
обработка Правильное предупреждение в настоящее время осуществляется. Приведенный выше пример будет теперь сделать так:
browser.button(:id => "alert").click
browser.alert.ok
browser.button(:id => "confirm").click
browser.alert.ok # or browser.alert.close
browser.button(:id => "prompt").click
alert = browser.alert
alert.text #=> "foo"
alert.ok
Я знаю, что iMacros for Firefox аддон может нажать эти Уведомления коробки. Может быть, вы можете объединить его с нашей установкой?
У меня была ошибка с использованием browser.alert, и я исправил ее с помощью взлома, но вы могли бы захотеть посмотреть: http://gist.github.com/569969 – rtacconi
Текущее поведение правильное - если кнопка doesn Нет, это должно вызвать ошибку. Идея состоит в том, что вы напишете свой собственный код в блоке, который вызовет предупреждение. – jarib
Извините, я назвал это не в том месте. Однако я пробовал ваш код, но не нажимал на любое предупреждение: assert_exists ': не удалось найти элемент, используя {: value => "OK",: tag_name => "button"} – rtacconi