【问题标题】:How to upload multiple files using selenium without the upload popup dialog?如何在没有上传弹出对话框的情况下使用 selenium 上传多个文件?
【发布时间】:2018-11-23 22:35:30
【问题描述】:

我正在使用 Selenium webdriverJava 中编写自动化测试工具。

此工具将通过 Jenkins 调用在 headless 服务器 上运行。我的问题是处理多个文件上传。 Selenium无法打开浏览器,所以当我点击网站上的上传按钮时,选择文件弹出不出现

我想知道是否有任何其他解决方案可以让我在自动测试期间处理上传多个文件

附:我可以使用sendkeys 函数处理单个文件上传。但我不能这样做来处理多个文件上传。

P.P.S 我不能使用 AutoITRobot 类来处理弹出对话框(因为无头服务器没有弹出对话框)

【问题讨论】:

  • 您是否尝试过创建类似C:.../f1 \n C:.../f2 的字符串并使用sendkeys?在每个文件之后添加一个新行 \n
  • 相关的HTML代码试验?
  • @raul1ro 我尝试了你的建议,现在它正在起作用,你应该发布一个答案让我接受以帮助其他有同样问题的人

标签: java selenium automated-tests


【解决方案1】:

您可以创建一个包含所有文件路径的字符串

String pathf1 = "...\f1.txt";
String pathf2 = "...\f2.txt";
String pathf3 = "...\f3.txt";
String allF = pathf1 + " \n " + pathf2 + " \n " + pathf3;

并将带有sendKeys(allF); 的字符串发送到您的<input>

我在ChromeDriver 上使用<input type = "file" multiple> 进行了测试,对我来说有效。

【讨论】:

  • 如果网站不包含<input type="file"> 元素并且有自定义上传对话框怎么办?
  • @AaronFranke,代码中应该有一个input file,即使它不可见。或者对于某些网站,它会在您与某些元素交互后出现。但如果你有困难,我建议提出一个问题
猜你喜欢
  • 2013-01-13
  • 1970-01-01
  • 2019-08-22
  • 2010-10-06
  • 2018-12-27
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多