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