检测在 selenium java 中下载的文件

Avi*_*dan 6 java selenium automation download web

我在 selenium java 中编写了一个自动化测试,用于检测页面是否正在重定向(自动化检测是否打开了新页面、页面重定向到其他页面、打开了一个新选项卡以及是否打开了警报窗口)

现在到了问题。我找不到任何检测方法的重定向之一是自动下载的文件(您进入一个网站,该网站会自动下载一个文件,而无需用户触发)

ps

我知道每个浏览器的下载过程可能不同,我需要它主要在 chrome 上工作

谢谢

小智 7

我有同样的问题,这是我在互联网上的某个地方找到的(可能是在 stackoverflow 上,我不记得了)。我刚刚添加了一行来删除文件,以便通过在测试开始时调用此方法,确保在尝试再次下载文件时该文件不再存在。

  public boolean isFileDownloaded(String downloadPath, String fileName) {
  File dir = new File(downloadPath);
  File[] dirContents = dir.listFiles();

  for (int i = 0; i < dirContents.length; i++) {
      if (dirContents[i].getName().equals(fileName)) {
          // File has been found, it can now be deleted:
          dirContents[i].delete();
          return true;
      }
          }
      return false;
  }
Run Code Online (Sandbox Code Playgroud)

你只需要用这一行调用: isFileDownloaded("C:\Path\To\Your\Folder", "yourPdfFile.abc");

希望这可以帮助!


Avi*_*dan 3

我最终的解决方案是在打开页面之前和之后统计下载目录中的文件。

我很高兴知道是否有人知道找到下载触发器的方法