Как использовать Watir, чтобы закрыть сообщение «Веб-страница пытается закрыть эту страницу» - PullRequest
2 голосов
/ 20 марта 2012

Мне было поручено протестировать содержимое нескольких всплывающих окон в нашем приложении.Все всплывающие окна вызываются с использованием чего-то похожего на:

var win = new Window({ className: "spread", title: "Discussion", 
left: 1, width: 410, height: 300, url: "Discussion.aspx?ID=" + id, 
showEffectOptions: { duration: 0}})

Поскольку я не мог получить доступ к страницам через всплывающие окна, я начал непосредственно переходить к страницам.Проблема в том, что страницы предназначены для закрытия после завершения обработки на странице.(window.close();)

При тестировании страниц, поскольку я непосредственно получаю доступ к странице, я получаю сообщение The webpage you are viewing is trying to close the window. Do you want to close this window?.

Есть ли способ использовать Watir (не Watir-webdriven) для доступа к сообщению и щелкнуть Да или Нет?

PS - (Использование IE8, если это имеет значение. Я попытался найти способыотключить сообщение, но безрезультатно)

ОБНОВЛЕНИЕ Используя IE Developer Tools, обобщенная HTML-структура с всплывающим окном выглядит так:

<html><body>
  <iframe><form>... (Main page here)
  <div class="dialog">
    <div class="spread_close" onclick="Window.close()"/> 
    <table><tr><td><iframe>  (table is not part of the "spread_close" div)
      <html><body><form><div><table><tr><td>
        <textarea name="txtDiscussion" id = "txtDiscussion" >

с использованием browser.div(:class => "spread_close").exists?возвращает true.

с использованием browser.text_field(:name => "txtDiscussion").exists? возвращает false.Я предполагаю, что это из-за двойного <html>.

1 Ответ

1 голос
/ 24 марта 2012

У вас есть кадры. Скорее всего, это то, что блокирует доступ, скорее всего, это не всплывающее окно, а «лайтбокс», который использует стили и тому подобное, чтобы выглядеть во многом как всплывающее или модальное диалоговое окно.

Посмотрите материал о том, как работать с кадрами, на wiki watir, и вы уже в пути.

...