我在 Firefox 24 上使用 Java 使用 WebDriver 上传文件时遇到问题。而且我不能使用一些外部程序,如 AutoIT 或类似程序。
我必须将文件上传到 HTML 代码为的部分:
<td>
<input type="file" name="file">
</td>
我在 Eclipse 中使用的是
pageObject.getTypeFileLocation().sendKeys(textFile);
pageObject.getUploadButton.click();
这不起作用;也尝试了这个问题的第一个答案,但也没有成功。
测试返回“OK”,但我怀疑没有做任何事情,所以添加了一个检查以等待“上传完成”文本出现;但是文件没有上传,并且在20秒后超时,即使要上传的文件为5KB,手动上传时只需不到一秒。该input=file
部分包含一个按钮和一个“未选择文件”文本,当手动选择文件时,该文本会更改为文件路径;这就是我认为文件没有被上传的想法;因为“未选择文件”一直存在,直到测试失败。
我在 Chrome 上试过这个并且似乎工作正常,而且我知道input=file
自 23 版以来在 FF 中有一些返工,但主要指向 CSS 样式,所以我认为它不相关。
另外,这个问题听起来可能有点愚蠢,但问题就是问题:sendKeys()
操作不需要字段来输入这些键吗?我觉得 WebDriver 正在尝试在按钮上写入路径,因为它只是一个按钮,所以无法执行该操作。
任何帮助将不胜感激,并在此先感谢!