【发布时间】:2020-01-08 13:07:24
【问题描述】:
我正在使用以下代码将文件上传到应用程序
String fileUploadPath = System.getProperty("user.dir") + File.separator
+ "UploadPdfFile" + File.separator;
File file = new File(fileUploadPath);
File[] files = file.listFiles();
String name = null;
for (File f : files) {
System.out.println(f.getName());
name = f.getName();
}
// Copy your file's absolute path to the clipboard
StringSelection ss = new StringSelection(fileUploadPath + name);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(ss, null);
Robot robot = new Robot();
robot.delay(250);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.delay(150);
robot.keyRelease(KeyEvent.VK_ENTER);
以上代码正在我的本地机器上运行,但是当我尝试在位于不同 Windows 机器中的 Jenkins 中运行相同的代码时失败, 我并没有低估它失败的原因。
详情:
- 操作系统 = Windows 10
- 语言=java
- 硒版本 = 3.141.5
- Jenkins 版本 = 2.190.2
- java版本=8
可以帮忙吗?
谢谢
【问题讨论】:
-
能否请您粘贴詹金斯的控制台输出?
-
它没有显示任何错误,方法执行成功但文件没有上传
-
文件输出了吗?
-
不,这是一个简单的 pdf 文件,我必须将其上传到我的应用程序中
-
在 for 循环中,您将输出目录中的所有文件。所以你应该在某处看到一些输出。您只是使用目录中的最后一个文件。所以你应该在日志中看到一些文本。
标签: java selenium jenkins selenium-webdriver