我们正在使用Watin自动化网站测试并尝试实现以下功能:单击按钮弹出弹出窗口,单击弹出窗口上的Generate按钮生成文件。我们无法使用watin获取弹出窗口。错误:“无法找到IE窗口匹配约束:属性'href'匹配'重新生成'。搜索在'30'秒后过期。”请说明出了什么问题。非常感谢您的帮助。
以下代码段:
ieInstance.Button(Find.ByName(Button1)).Click();
ieInstance.WaitForComplete();
var popupUrl = new Regex("Regenerate");
//part of popup URL: "RegenerateDialog.aspx?Type="
var popupBrowser = Browser.AttachTo<IE>(Find.ByUrl(popupUrl));
if (popupBrowser != null)
popupBrowser.Button(Find.ById("RegenerateDialogBtn")).Click();
弹出窗口代码如下:
function ShowEXPFileWindow(Type)
{
//do some stuff
var oWnd = window.radopen("RegenerateDialog.aspx?Type=" + Type, "RegenerateDialog");
oWnd.set_title("");
oWnd.center();
}
用于显示弹出窗口的HTML:
<td><input type="submit" name="ctl00$Body$ConfigRadGrid" value="Regenerate" onclick="ShowEXPFileWindow('OD'); return false;" class="submit" /></td>
答案 0 :(得分:0)
而不是
ieInstance.Button(Find.ByName(Button1)).Click(), use
ieInstance.Button(Find.ByName(Button1)).ClickNoWait()
并检查。是否可以发布弹出窗口的图像?或者当您单击按钮时,默认选择哪个控件?如果它是'再生&#39;然后尝试按“输入”#39;钥匙和检查。
弹出窗口是另一个IE窗口吗?如果是,则使用
附加Find.ByUrl(url => url.Contains(expectedURL))