katalon写一个脚本从oss下载文件夹到本地,要求不导入新的依赖库
时间: 2024-04-10 07:34:37 浏览: 26
在Katalon中,你可以使用WebUI关键字和Groovy脚本来实现从OSS下载文件夹到本地的操作,而无需导入新的依赖库。以下是一个示例脚本:
```groovy
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
// 定义OSS的URL和本地保存路径
def ossUrl = "http://your-oss-url/folder"
def localPath = "path/to/save/folder"
// 打开OSS链接
WebUI.openBrowser('')
// 获取OSS文件夹中的所有文件和子文件夹
WebUI.navigateToUrl(ossUrl)
WebUI.waitForPageLoad(10)
// 获取所有文件和子文件夹的链接
List<WebElement> folderLinks = WebUI.findAllWebElements(By.cssSelector("a[href*='/folder/']"))
// 创建本地保存路径
File localFolder = new File(localPath)
localFolder.mkdirs()
// 遍历所有链接并下载文件和文件夹
folderLinks.each { link ->
String href = link.getAttribute("href")
String fileName = href.substring(href.lastIndexOf('/') + 1)
String localFilePath = localPath + "/" + fileName
// 如果是文件夹,则递归下载文件夹内的内容
if (link.getAttribute("href").endsWith("/")) {
downloadFolderFromOSS(href, localFilePath)
}
// 如果是文件,则下载文件
else {
WebUI.downloadFile(href, localFilePath)
}
}
// 关闭浏览器
WebUI.closeBrowser()
// 下载文件夹的递归方法
def downloadFolderFromOSS(String ossFolderUrl, String localFolderPath) {
// 创建本地保存路径
File localFolder = new File(localFolderPath)
localFolder.mkdirs()
// 打开OSS链接
WebUI.navigateToUrl(ossFolderUrl)
WebUI.waitForPageLoad(10)
// 获取该文件夹下的所有文件和子文件夹的链接
List<WebElement> folderLinks = WebUI.findAllWebElements(By.cssSelector("a[href*='" + ossFolderUrl + "']"))
// 遍历所有链接并下载文件和文件夹
folderLinks.each { link ->
String href = link.getAttribute("href")
String fileName = href.substring(href.lastIndexOf('/') + 1)
String localFilePath = localFolderPath + "/" + fileName
// 如果是文件夹,则递归下载文件夹内的内容
if (link.getAttribute("href").endsWith("/")) {
downloadFolderFromOSS(href, localFilePath)
}
// 如果是文件,则下载文件
else {
WebUI.downloadFile(href, localFilePath)
}
}
}
```
请将代码中的`ossUrl`和`localPath`替换为你自己的OSS链接和本地保存路径。这个脚本会在本地创建相应的文件夹,并将OSS中的文件和文件夹递归地下载到本地。
希望对你有帮助!如果有任何问题,请随时提问。