1

我的一部分 watir 脚本测试了一个上传表单。我可以打开上传框,但它不会导航到文件夹并选择我想要的文件。相反,脚本会崩溃并给出以下错误:没有这样的文件或目录 - /Users/Abdulla/Documents/Ads/1.jpg (Errno::ENOENT)

这是我的代码,我不确定我是否做对了。这是在mac btw上使用chromewatir。

browser.file_field(:name, "u").click
browser.file_field(:name, "u").set("/Users/Abdulla/Documents/Ads/1.jpg")

路径名是否应该以 /Users 开头?还是应该是 /Documents?因为当它单击站点上的选择文件时,它会在 Documents 文件夹中打开。

4

3 回答 3

1

1) 我建议切换到 Watir-Webdriver 来驱动 chrome。正如评论中所指出的,chrome-watir 项目在这一点上几乎已经死了

2) 检查文件是否存在。

3) 检查运行 watir(或 watir-webdriver)的用户是否有权访问该文件。或考虑将文件放在更公共的目录中(就目录的权限而言)

4)我不能在mac上确定,但在PC上,chrome上传文件选择器会记住最后一个用于上传文件的目录并打开到同一个地方(大概是为了方便用户),但是指定完整文件的文件路径应该不是问题。如果需要确定,您可以随时尝试手动执行此操作,看看它是否有效。

5) 我不确定我们能否告诉您正确的路径是什么,毕竟涉及到的是您的系统、您的用户和您的文件,您在这方面比任何其他人都更了解您在这方面所做的事情我们会的。

于 2011-08-01T16:53:53.607 回答
0

如果您使用“watir-webdriver”,则可以使用此代码。

我想你不需要点击文件字段,只需要设置文件路径。

local_file = "/Users/Abdulla/Documents/Ads/1.jpg"
puts (File.exists? local_file)
browser.file_field(:id => 'upComponent').set  local_file
于 2013-08-05T09:41:22.250 回答
0

我的猜测是该/Users/Abdulla/Documents/Ads/1.jpg文件不存在,如错误消息所述。

于 2011-07-28T08:38:24.983 回答