selenium - 下载文件对话框

标签 selenium download automated-tests

我在 CI 系统中使用 Selenium 来自动测试我的各种应用程序,其中之一是一个 Web 表单,其中包含我们答案的可下载副本(作为动态生成的 PDF)。该测试是为了断言可下载的 PDF 文件包含正确的答案(在网络表单上给出的答案)。我的问题是尝试处理下载对话框以检索 PDF 文件(断言 PDF 的内容正确超出了此问题的范围)。

我花了一段时间寻找处理它的方法,我发现的一些相关的东西是 AutoIT ,更改默认下载位置并让浏览器自动下载文件,然后 asserting the link works without downloading the file 。不幸的是,我的情况排除了所有三种可能性。

  1. 我使用多种浏览器(排除自动下载,因为某些浏览器不支持此功能)。
  2. 我正在使用多种平台(排除 AutoIT,这是一款仅限 Windows 的应用程序)。
  3. PDF 中的内容是根据之前与应用程序的交互动态生成的,测试是断言生成的内容是否与预期值匹配,因此仅检查链接是否存在是不够的。

因为显示的下载对话框是由操作系统管理的,所以我不确定是否可以使用 Selenium 来实现我的目的,但是我想我会先询问是否有人知道使用 Selenium 的任何解决方案,或者可以推荐一些其他可接受的测试方法?

最佳答案

据我所知,由于您自己所说的原因,您不能使用 Selenium 来实现这一点。然而,我认为解决这个问题的最好方法是直接下载生成的pdf而不使用selenium。既然您知道它的 url,您也许可以使用 this article 中概述的方法。它描述了如何使用“Powder-Monkey”来完成您想做的事情。

关于selenium - 下载文件对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992957/

相关文章:

unit-testing - 自动化单元测试与自动化集成测试的优缺点是什么?

java - WebDriver 使用隐式等待获取加载元素的时间

带有 Selenium 的 Python : rerun on pre-existing browser

java - 使用 selenium 在 IE 中处理刷新警报

java - 如何使用 apache poi selenium webdriver java 将 excel 中的两个或多个值与 li 中的值进行比较并报告同一 excel 中的通过或失败

file - grails文件下载

Android WebView 还是 ImageView?

javascript - 通过 POST 下载文件

android - 模块中的多个测试文件夹

java - 使用 Selenium Java 测试用例调用 CLICK 时获取 "org.openqa.selenium.ElementClickInterceptedException"