【问题标题】:Selenium webdriver: can't upload file remotely on Firefox (Java)Selenium webdriver:无法在 Firefox (Java) 上远程上传文件
【发布时间】:2024-04-21 21:35:02
【问题描述】:

我正在尝试在远程服务器上运行测试时上传文件。 在 Chrome 上运行良好,在 Firefox 上不行(两者都在本地运行)。

文件已经存储在远程机器上。

我的上传代码:

uploaded.getUploadBtn().sendKeys("C://resources//images//pic1.jpg");

似乎 webdriver 获取了错误的文件路径,但我不确定。我该如何调试这个问题?

【问题讨论】:

  • 你有没有试过 upload.getUploadBtn().sendKeys(new File("C:\\Test.txt").toURI().toURL())
  • 我的 windows 机器没问题:uploaded.getUploadBtn().sendKeys(new File("C://resources//images//pic1.jpg").toURI().toURL() .toString());但不是在 linux 上;
  • 在我将代码更改为:uploaded.getUploadBtn().sendKeys("file:C://resources//images//pic1.jpg"); 后,它现在可以在 Firefox 上运行。跨度>

标签: file-upload selenium-webdriver selenium-grid


【解决方案1】:

Linux 没有以C: 开头的路径!!!

如果您需要它与跨操作系统兼容,为什么不将图片视为资源,然后您可以通过getClass().getResource("res/pic1.jpg").getFile() 轻松找到它,无论您使用什么平台。

【讨论】: