在我的测试中,我试图从FTP下载一个文件。当我在本地PC或BrowserStack上运行这个程序时,它工作得很好,但当我将它上传到jenkins时,它会被卡在队列中。我不明白有什么区别为什么它不在詹金斯身上运行?我设法建立了到FTP的连接。下面显示的代码是下载文件的方法。
布尔成功=ftpClient。retrieveFile(远程文件、输出流);
public static File downloadFileFromFtp(String fileName, String ftpFilePath, String downloadDirectory, String fileExtension, ExtentTest test) throws Exception {
FTPClient ftpClient = new FTPClient();
ftpClient.connect(AutomationPropeties.ftpHost, Integer.valueOf(AutomationPropeties.ftpPort));
ftpClient.login(AutomationPropeties.ftpUsername, AutomationPropeties.ftpPassword);
ftpClient.enterLocalPassiveMode();
System.out.println("loged in ftp");
if (ftpClient.isConnected()) {
test.log(LogStatus.INFO, "Connected Succesfuly to ftp server.");
System.out.println("loged in ftp");
} else {
test.log(LogStatus.INFO, "Failed connecting to ftp.");
System.out.println("not loged in ftp");
}
String remoteFile = ftpFilePath + fileName + ".xlsx";
System.out.println(remoteFile);
// File downloadFile = new File(downloadDirectory+fileName+".xlsx");
File downloadFile = File.createTempFile(fileName, ".xlsx");
System.out.println("reached the try");
try (OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile))) {
System.out.println("finished with the output");
boolean success = ftpClient.retrieveFile(remoteFile, outputStream);
System.out.println("retrive the file & conection closed");
if (success) {
test.log(LogStatus.PASS, "File was downloaded succesfuly");
} else {
test.log(LogStatus.FAIL, "Failed to download file");
}
} finally {
ftpClient.logout();
ftpClient.disconnect();
}
return downloadFile;
}
我是BrowserStack的Mukul。我们最近发布了一个Jenkins插件,它可能会帮助你。
也许Jenkins FTP插件就是你所需要的。詹金斯可以用工蜂来定义(你不觉得比奴隶好多了吗?)服务器,以便作业可以在不同的物理服务器上运行。
如果您查看插件,请报告是否有帮助。
更新
使用:
curl -O ftp://server/path/to/file
我有这个代码来下载一个文件。 这是服务器和密码的一部分。 简单的填充下载,但此行出错 它给了我错误,我希望你能理解我现在面临的问题 java.net.SocketExc0019:软件导致连接中止:套接字写入错误在java.net.SocketOutputStream.socketWrite0(本地方法)在java.net.SocketOutputStream.socket写入(SocketOutp
问题内容: 似乎只能通过以下方式通过FTP上传文件: https://wiki.jenkins- ci.org/display/JENKINS/Publish+Over+FTP+Plugin 但是我需要通过FTP下载文件,为此我可以编写一个groovy插件,但是似乎没有这个插件 问题答案: 可能是因为在构建过程中使用单线下载文件很简单: 卷毛工具几乎可用于所有操作系统。 如果您只需要通过FTP下载
我正试图下载一些公共数据文件。我通过screensrap获取指向文件的链接,这些文件看起来都是这样的: 我在Requests library网站上找不到任何文档。
我必须从FTP服务器下载最新文件。我知道如何从我的计算机下载最新文件,但我不知道如何从FTP服务器下载。 如何从FTP服务器下载最新文件? 这是我从电脑上下载最新文件的程序 好的,使用此代码我知道最后一个文件的日期,但我如何知道这个文件的名称?????????
希望有人能帮我, 场景:我是, 导航到有下载图标的页面 单击“下载”图标 .pdf文件开始下载到我的项目目录 注意:下载过程中不会显示确认消息,只要单击下载图标,文件就会被下载 观察到:当在本地运行测试用例时(从mvn命令和testng命令),它似乎正在工作并将文件下载到我的目录中。 然而,同样的案例似乎不适用于詹金斯。该文件不会下载到 Jenkins Directory。 本地: Windows
问题内容: 我有FTP,我需要在上载目录中列出FTP中的所有文件,单击任何列出的文件后,它将从FTP下载特定文件。 它在上载目录中列出了我的文件,但是当我尝试下载文件时,它会键入“没有文件” 我的代码: 问题答案: 您在生成的标记中的链接指向不包含链接文件的Web服务器。 您需要做的是链接到PHP脚本,并为其指定要下载的文件的名称。然后,脚本将从FTP服务器下载文件,并将下载的文件传递回用户(至W