2016-04-15 206 views
0

我正在运行测试,从网页下载PDF文件,确认它已下载到下载文件夹中,然后将其删除(以阻止文件夹被PDF压垮)。红宝石文件删除黄瓜

当试图在文件路径中使用通配符以便其他人可以在其计算机上运行此测试时,出现错误,指出文件不存在。

这是我的代码:

pdf_file = ("C:/Users/**/Downloads/myfile.pdf") 

And(/^I can see the downloaded PDF$/) do 
    puts Dir['C:/**/**/Downloads/myfile.pdf'].last 
File.delete(pdf_file) 
end 

很奇怪的是,通配符迪尔内确认时使用。

只要将实际的用户名放在文件路径中,它就可以工作。无论如何要解决这个问题吗?

回答

1

不知道我是否正确阅读此内容,但是 - 基于代码 - 您传递的字符串包含星号File.delete。您需要在该字符串上调用Dir::[]以在将其传递到File.delete之前执行通配符转换。例如:

File.delete(Dir["C:/Users/**/Downloads/myfile.pdf"].last) 
+0

这是正确的,谢谢 – Tom