繁体   English   中英

Selenium RC无法使用下载弹出窗口

[英]Selenium RC not able to work with downloads popup window

我是硒RC的新手。 我一直在Eclipse中工作,以运行一个简单的junit测试用例,以运行并从adobe.com下载flashplayer。

但是硒RC无法单击甚至无法识别弹出的下载窗口。 我一直在Google搜索中看到一些建议,但仍然无法做到。

我一直在尝试获取要使用的弹出窗口的窗口ID或名称,但仍然无法执行。 我在下面将代码的主要功能复制到了下面:

public void testPopup() throws Exception 
    {
    selenium.open("http://get.adobe.com/");
    selenium.open("/flashplayer/");
    selenium.click("id=buttonDownload");

    String ids[]=selenium.getAllWindowIds();
    for(int i=0;i<ids.length;i++)
        System.out.println(ids[i]);
    String[] windownames=selenium.getAllWindowNames();
    for(int i=0;i<windownames.length;i++)
        System.out.println(windownames[i]);

        String feedWinId = selenium.getEval("{var windowId; for(var x in selenium.browserbot.openedWindows ) {windowId=x;} }");
    System.out.println(feedWinId);
        selenium.chooseOkOnNextConfirmation();
    selenium.waitForPageToLoad("30000");                                        
}

如果有人可以帮助我,那就太好了。

谢谢

简短的答案:您不能。

更长但仍然令人失望的答案:

您不能,因为当前没有Selenium实现支持。 硒人们知道这件事 ,实际上是nr。 Selenium目前最受欢迎的功能中有13个

Selenium RC永远不会拥有它,因为它的技术局限性(它是纯JavaScript。纯JavaScript无法下载和保存文件。)并且它在一年前已被弃用。 Selenium WebDriver ...好吧,也许在将来。 您可以尝试以下各种方法:

  • 重新考虑您是否真的需要下载文件。 仅仅断言该文件存在并且可以通过发出HTTP请求并看到答案为200 OK来下载就可以吗?
  • 通过Selenium获取URL后,是否不能使用纯Java下载文件 我个人认为这是最好的方法。
  • 如果您使用的是WebDriver,那么有个很棒的工具可以下载文件
  • 如果您使用的是Firefox,则可以设置一个干净的测试配置文件,该配置文件将进行配置,以便它将每个单击的文件下载到某个指定的文件夹中。 也有可以帮助您的插件 我不确定Selenium RC是否支持使用预创建的配置文件,但Selenium WebDriver确实支持。
  • 如果您使用给定的浏览器进行测试,则可以通过盲目按下按钮来弄清楚如何“盲目”下载文件。 Robot课程可以帮助您。 您只需单击文件,然后盲目按Enter或任何键将文件下载到正确的位置。 还有很多人用于此任务的 AutoIt框架

您不能使用硒自动执行系统生成弹出窗口。
为此,您已经将Autoit with selenium转换为Autoit with selenium
借助于此,您可以在下载弹出窗口中记录您的活动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM