我的任务是在整个应用程序中测试几个弹出窗口的内容。所有弹出窗口都使用类似于以下内容的方式调用:
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>
。
答案 0 :(得分:1)
你有帧。这可能是什么阻止访问,可能这些实际上不是一个弹出窗口,而是一个使用样式的“灯箱”div,看起来很多就是弹出窗口或模态对话框。
查看关于如何处理watir wiki上的帧的内容,你应该在路上。