【发布时间】:2011-12-15 16:15:42
【问题描述】:
我有一个应用程序,当您单击链接时会弹出一个窗口。我有一个导航到页面并单击链接以打开弹出窗口的 watin 测试。这是我当前的代码:
[Test]
public void TestCommentBoxInput()
{
window.GoTo("mylocalurl");
window.Link(Find.ById("popuplink.aspx")).Click();
IE iepopup_1 = IE.AttachTo<IE>(Find.ByUrl("popuplinkurl.aspx"));
iepopup_1.TextField(Find.ById("txtComments")).TypeText("Commenttest");
}
如您所见,我尝试将弹出窗口附加到创建的名为 window.properties 的浏览器。当我运行我的测试时,它只会在弹出窗口处停止,并且永远不会在框中输入文本。如何让我的程序重新确定它现在要在弹出窗口而不是原始窗口上运行?
编辑:我正在处理一个模态对话框。
【问题讨论】:
-
Find.ById("popuplink.aspx") 看起来很奇怪,它是一个有效的 html 标识符,但我不会使用 href 作为 id。你可以通过选择器 [href='popuplink.aspx'] 来避免这些东西。
-
弹出窗口本身给我带来了问题,因为当我附加 aspx 文件的直接 URL 并准备好并在运行代码时打开它时,它可以正常工作。所以弹出窗口存在一些问题,这对我来说是个问题。
-
你试过我的回答命题了吗?
-
是的,它没有解决我的具体问题。
标签: c# unit-testing watin