Windows 使用Selenium的弹出窗口出现问题

Windows 使用Selenium的弹出窗口出现问题,windows,selenium,popup,Windows,Selenium,Popup,我是测试界的新手,所以我的问题可能看起来有点幼稚和愚蠢。冒着看起来/听起来愚蠢的风险,我的问题是: 我一直在尝试测试公司web应用程序弹出窗口中的内容。我现在已经知道了如何检测弹出窗口,但我无法让selenium“单击”该弹出窗口内的链接。这个web应用程序中有多个弹出窗口,所以对于一个喜欢创建测试用例的新手来说,这真的很难 我尝试了单击、单击和等待、鼠标向下和鼠标键作为一个选项,但仍然不起作用。有人能帮我解决这个问题吗 蒂亚, 安吉拉也许你可以试试FireFox插件。您可以单击应用程序并记录步

我是测试界的新手,所以我的问题可能看起来有点幼稚和愚蠢。冒着看起来/听起来愚蠢的风险,我的问题是:

我一直在尝试测试公司web应用程序弹出窗口中的内容。我现在已经知道了如何检测弹出窗口,但我无法让selenium“单击”该弹出窗口内的链接。这个web应用程序中有多个弹出窗口,所以对于一个喜欢创建测试用例的新手来说,这真的很难

我尝试了单击、单击和等待、鼠标向下和鼠标键作为一个选项,但仍然不起作用。有人能帮我解决这个问题吗

蒂亚,
安吉拉

也许你可以试试FireFox插件。您可以单击应用程序并记录步骤。记录完这些步骤后,您可以轻松地将其保存为某种文件或unittest


我不确定弹出窗口应该使用什么命令,也许firefox插件会以这种方式提供帮助(它将创建您的命令)。

当弹出窗口出现时,您需要将脚本的上下文移到窗口上

您可以使用
从_链接中选择window | window _ID _
,然后单击


如果这不起作用,您可能需要使用
openWindow
命令创建弹出窗口,然后开始测试该弹出窗口。

如果您使用div标记创建弹出窗口,您可以使用以下代码停止selenium服务器,直到弹出窗口打开

int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 5) 
    break;
Thread.Sleep(1000);
second++;
}
弹出窗口打开后,现在您可以单击弹出窗口内的任何链接。您必须使用以下代码

selenium.click("id=popup_link"); (popup_link is the id of the link present on the popup)

祝你好运。

不确定这是否是你想要的,但如果你想点击Selenium无法处理的特定内容,比如浏览器弹出窗口或其他弹出窗口,你可以使用Sikuli脚本。Sikuli做了一个图像比较,并点击相同的图片-这是非常强大的


以下是链接:

根据您使用的弹出窗口的类型使用getConfirmation/getassert/getprompt…..默认情况下,服务器将使用ok选项单击它们,您必须使用弹出窗口中的消息才能使其他selenium命令正常工作。。。。。。。。。。。。。 以上建议是根据我与perl一起使用selenium RC的经验给出的