java - 如何在没有上传弹出对话框的情况下使用 selenium 上传多个文件?

标签 java selenium automated-tests

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

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

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

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

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

最佳答案

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

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>对我有用。

关于java - 如何在没有上传弹出对话框的情况下使用 selenium 上传多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852573/

相关文章:

java - 假 boolean 值 = 真?

java - 收集特定时间段的android传感器并计算平均值

java - 如何使用 Selenium 设置私有(private)代理?

python - 我无法在 RIDE (ROBOT FRAMEWORK) 中运行简单的测试

typescript - Jest + Vue - 语法错误 : Unexpected token <

java - 创建我自己的属性

java - 如何在 MySQL 表中添加 GENERATED BY DEFAULT AS IDENTITY?

java - 在不同的测试中使用相同的字符串时出错

java - 这是正确的吗 - FirefoxDriver driver = new FirefoxDriver();?

node.js - 如何使用 Node.js 比较两个图像