我们的目标是:在 .net winform 中嵌入支持 Watin 的浏览器测试。
目前,我们正在使用 .net WebBrowser 控件将浏览器行为嵌入到 winform 中。我们使用如下代码将 WatiN 附加到表单上的 WebBroswer 控件(感谢 prostynick):
var thread = new Thread(() =>
{
Settings.AutoStartDialogWatcher = false;
var ie = new IE(webBrowser1.ActiveXInstance);
ie.GoTo("http://www.google.com");
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
问题是——“winform 浏览器”需要在测试/自动化期间处理弹出窗口。
问题:当Watin 附加到一个winforms webBrowser 控件(而不是使用它自己的WatiN 生成的IE 窗口)时,如何处理弹出窗口?
a) 可以继续使用 Watin 的 DialogWatcher 吗?如果是这样……怎么办?
b) 如果没有,那么也许我们可以编写自己的 DialogWatcher——但我们需要一个 hWnd 或 processID 来添加它。在 Waitin 没有自己的窗口或进程的情况下,我们将在哪里获得正确的 hWnd 或 processId?
提前感谢您的任何想法...欢迎使用其他方法达到相同的目标!