使用Selenium弹出Windows的问题

时间:2009-12-11 07:59:10

标签: windows selenium popup

我是测试世界的新手,所以我的问题看起来似乎有些过于天真和愚蠢。看起来/听起来很愚蠢的风险,我的问题是:

我一直在尝试在我公司的webapp上的弹出窗口中测试内容。我现在已经想出了如何检测弹出窗口,但是我无法获得selenium来点击该弹出窗口内的链接。这个webapp中有多个弹出窗口,所以新手很难创建一个测试用例。

我尝试了click,clickAndWait,mouseDown和mouseKey作为选项,但它仍然无法正常工作。有人可以指导我这个吗?

TIA, 安吉拉

5 个答案:

答案 0 :(得分:2)

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

您可以使用selectWindow | window_ID_from_the_link执行此操作,然后点击。

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

如果您使用div标签创建了弹出窗口,则U可以使用以下代码停止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)

祝你好运。

答案 4 :(得分:0)

不确定这是否是您正在寻找的,但如果您想点击Selenium无法处理的特定内容 - 例如浏览器弹出窗口或其他弹出窗口,您可以使用Sikuli脚本。 Sikuli进行图像比较并点击相同 - 这非常强大。

以下是链接:http://www.sikuli.org/