【问题标题】:Selenium RC not able to work with downloads popup windowSelenium RC 无法使用下载弹出窗口
【发布时间】:2012-07-03 20:42:56
【问题描述】:

我是 selenium RC 的新手。我一直在 eclipse 中运行一个简单的 junit 测试用例来运行和从 adobe.com 下载 flashplayer。

但是 selenium RC 无法点击甚至识别下载弹出窗口。我在谷歌搜索中看到了一些建议,但我仍然无法做到。

我一直在尝试获取弹出窗口的窗口 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");                                        
}

如果有人能帮我解决这个问题,那就太好了。

谢谢

【问题讨论】:

    标签: java selenium download selenium-rc


    【解决方案1】:

    简短的回答:你不能。

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

    你不能,因为当前没有 Selenium 实现支持它。 Selenium 人know about it,其实是nr。目前 Selenium 中最受欢迎的 13 个功能

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

    • 重新考虑是否真的需要下载文件。仅仅断言文件存在并且可以通过making a HTTP request and seeing that the answer was 200 OK下载不是可以吗?
    • 在通过 Selenium 获得 URL 后,您不能 download the file using pure Java 吗?我个人认为这是最好的方法。
    • 如果您使用的是 WebDriver,则有 a great tool for downloading files!
    • 如果您使用的是 Firefox,您可以设置一个干净的测试配置文件,该配置文件将被配置为将每个点击的文件下载到某个指定的文件夹中。那里有addons 也可以帮助您。我不确定 Selenium RC 是否支持使用预先创建的配置文件,但 Selenium WebDriver 肯定支持。
    • 如果您使用给定的浏览器进行测试,您可以通过盲目按下按钮来了解如何“盲目地”下载文件。 Robotcan help 你。您只需单击文件,然后盲目按 Enter 或任何键将文件下载到正确的位置。还有AutoIt framework,很多人use for this task

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 您好 ROhit,感谢您的回复。但我正在寻找一种解决方案,我可以在其中从 linux 运行 selenium 脚本。似乎 AutoIT 可以使用 Wine 运行。但是你能告诉我是否有其他方法可以在 linux 中运行这个 selenium 脚本?
      猜你喜欢
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      相关资源
      最近更新 更多