如何使用实习生框架测试文件下载?

问题描述 投票:0回答:1

我有一个要求,我需要编写一个功能测试来下载文件并测试其内容。 有两部分:

  1. 确保单击链接即可下载文件。
  2. 读取文件并检查其内容。

这是一个 csv 文件,所以我可以对内容进行一些操作。

intern
1个回答
3
投票

这样做有几个问题。一个是,如果您在远程系统上运行浏览器,则需要一种方法将文件返回到运行 Intern 的系统。第二个问题是您需要知道下载的文件在下载时最终存放在哪里。第三个问题是某些浏览器(FF 和 IE)会弹出 Selenium 无法处理的操作系统级对话框。

第一个问题是:你真的需要在浏览器中下载文件吗?听起来您可能正在测试服务而不是浏览器,在这种情况下,您可以使用 Intern 下载文件并在那里检查它。

假设您确实需要通过浏览器下载文件,您应该能够将浏览器配置为不打开确认对话框并将文件下载到已知位置,这至少可以处理上述 3 个问题中的 2 个。请注意,我还没有实际测试过这一点。

在 Firefox 中,您可以设置测试配置文件并在运行测试时使用它。您可能需要配置以下属性:

  • browser.download.dir
    : '下载文件夹的路径'
  • browser.download.folderList
    :2
  • browser.helperApps.neverAsk.saveToDisk
    : '文本/csv'
  • browser.download.manager.showWhenStarting
    :假

对于 Chrome,您将通过 环境描述符 传递选项。具体选项应该是:

  • 'profile.default_content_settings.popups': 0
  • 'download.default_directory': 'path to download folder'

设置浏览器后,您的测试代码需要单击链接,然后等待一段不确定的时间(Selenium 不提供任何类型的下载进度数据),然后从 Intern 测试本身获取文件(使用网络请求或本地文件操作)来检查它。

© www.soinside.com 2019 - 2024. All rights reserved.