You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Katalon Studio中创建通用上传关键字实现同文件多输入框上传

Katalon通用文件上传关键字实现方案

通用关键字封装

Katalon支持动态获取测试对象,你可以封装接收测试对象路径、文件路径两个入参的通用关键字,适配所有上传场景:

import com.kms.katalon.core.testobject.ObjectRepository
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.annotation.Keyword

// 类名可自定义,注意对应调用时的路径
class UploadUtils {
    /**
     * 通用文件上传方法
     * @param testObjectPath 测试对象在Object Repository中的完整路径
     * @param filePath 待上传文件的本地绝对路径
     */
    @Keyword
    def uploadFileToTarget(String testObjectPath, String filePath) {
        if(testObjectPath == null || testObjectPath.trim() == "" || filePath == null || filePath.trim() == "") {
            throw new IllegalArgumentException("测试对象路径和文件路径不能为空")
        }
        // 动态获取测试对象执行上传
        WebUI.uploadFile(ObjectRepository.findTestObject(testObjectPath), filePath)
    }
}

关键字调用方式

基础调用

注意替换代码中的com.yourpackage为你创建自定义关键字类时实际使用的包名:

// 统一配置文件路径,仅需修改一次
def targetFilePath = "D:\\test-photo.png"

// 逐个上传到不同输入框
CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'('input_browse', targetFilePath)
CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'('Object Repository/TKM/Page_/upload_AB_log', targetFilePath)
CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'('Object Repository/TKM/Page_/Upload_BC_logo', targetFilePath)
CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'('Object Repository/TKM/Page_/upload_CD_log', targetFilePath)
CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'('Object Repository/TKM/Page_/upload_EF_logo', targetFilePath)

批量上传优化

如果需要上传的目标很多,可以用列表循环简化代码:

def targetFilePath = "D:\\test-photo.png"
// 统一管理所有上传目标的测试对象路径
def uploadTargetList = [
    'input_browse',
    'Object Repository/TKM/Page_/upload_AB_log',
    'Object Repository/TKM/Page_/Upload_BC_logo',
    'Object Repository/TKM/Page_/upload_CD_log',
    'Object Repository/TKM/Page_/upload_EF_logo'
]

// 循环执行上传
uploadTargetList.each { targetPath ->
    CustomKeywords.'com.yourpackage.UploadUtils.uploadFileToTarget'(targetPath, targetFilePath)
}

可选扩展

如果需要适配更复杂的场景,可以直接在关键字内部补充逻辑:

  • 上传前等待输入框可见、可点击
  • 上传后校验文件名称是否正常显示
  • 增加异常捕获和日志上报

内容的提问来源于stack exchange,提问作者Akzy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:48:01