【发布时间】:2020-09-23 12:45:44
【问题描述】:
背景:使用 Protractor 和 Chrome 进行一些文件下载测试。我在 selenium 网格上运行,因此测试和我的 Node 环境正在服务器上执行(例如 8.2.2.2),而文件下载在远程 Windows 机器上(例如 14.3.3.3)。
文件下载曾经存储在启动测试的同一台服务器上,所以我只是在执行我的断言之前等待文件存在:
browser.wait(() => {
return fs.existsSync(filePath)
}).then(() => {
// expect something
})
问题:现在,文件不写入服务器(它们直接下载到浏览器),所以我没有什么可抓取的......到目前为止。由于我使用的是 selenium 网格,我无法直接从测试服务器读取远程机器。
问题:量角器浏览器对象或 chromedriver 是否有我可以获取的有关该文件下载的任何信息?试图找到一种访问文件名和文件大小的方法?我正在研究浏览器对象,但还没有找到任何东西。
【问题讨论】:
-
导航
chrome://downloads/以获取所有下载文件的列表:stackoverflow.com/questions/47068912/… -
@FlorentB。太棒了,谢谢,我现在有一个工作版本。不知道我在以前的搜索中是如何没有遇到这个问题的
-
@FlorentB。您在哪里可以找到有关这些方法的文档?
downloads.Manager等。甚至不知道那些存在 -
这些方法没有记录。您可以通过使用 devtools 检查
chrome://downloads/的来源来找到它们。您也可以在铬的来源中找到它们:cs.chromium.org/chromium/src/chrome/browser/resources/…
标签: selenium-webdriver protractor selenium-chromedriver