0
我想运行一个测试,从我们的Web应用程序下载文件。然而,我遇到的问题是该文件已存在,并且我有一个if
语句来处理它并在下载另一个之前将其删除。问题是,它永远不会进入if
声明。检查文件是否使用量角器在Windows上下载
我知道我的文件路径是正确的。还有什么我在这里做错了吗?
const fs = require('fs')
fit('Download Visible Records',() => {
const filename = `C:\\Users\\me\\Downloads\\DataExport_2017-04-18-10-04am.csv`
if (fs.existsSync(filename)) {
console.log('Are we getting here??') // NEVER ACTUALLY GETS HERE EVEN THOUGH THE FILE DOES EXIST
// Make sure the browser doesn't have to rename the download
fs.unlink(filename)
console.log('how about here?')
}
claims.downloadVizRecords()
browser.driver.wait(() => {
expect(fs.existsSync(filename)).toBe(true)
}, 10000)
})
我创造了我的文件下载测试前一段时间,所以我不记得我是如何得出这个结论,但我有一个额外的参数在我的'existsSync'函数中。 'fs.existsSync('filepath',fs.R_OK);',根据fs docs的是一个“标志表明该文件可以被调用进程读取”。这能解决你的问题吗? – Gunderson
@Gunderson非常感谢您的建议,但是这并没有解决问题。 – DarthOpto
@Gunderson因此,看起来我的程序正在运行测试。我从一个mac上运行一个windows计算机,不具有对该文件的读/写访问权限。即使将目录的权限更改为“Everyone”具有完全访问权限后也是如此。 – DarthOpto