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

Katalon自动化工具中自定义关键字函数能否相互调用?调用报错求助

在Katalon中调用自定义关键字的方法与错误解决

当然可以在Katalon的自定义关键字里调用另一个自定义关键字啦!你遇到的No such property: CustomKeywords错误,本质是因为你的关键字类里没有正确引用Katalon的CustomKeywords工具类,或者调用语法有误。下面是具体的解决方法:

错误原因分析

你提供的错误日志显示:

05-30-2018 02:59:02 PM - [ERROR] - No such property: CustomKeywords for class: mandatoryfield_Validation.Mandatoryfieldva...

这说明你的mandatoryfield_Validation.Mandatoryfieldvalidation类中,没有导入CustomKeywords类,或者调用其他关键字时的语法不符合要求。

解决步骤

1. 导入CustomKeywords类

在你的自定义关键字类的最顶部,添加以下导入语句:

import com.kms.katalon.core.keyword.CustomKeywords

这是让你的类能够识别CustomKeywords这个工具类的前提。

2. 使用正确的调用语法

调用其他自定义关键字时,必须遵循CustomKeywords.'包名.类名.方法名'(参数列表)的格式。举个例子:
假设你要调用的关键字是com.example.ValidationUtils.checkRequiredField(),那么在你的textfieldvalidation方法里应该这么写:

CustomKeywords.'com.example.ValidationUtils.checkRequiredField'(testObject, errorMessage)

3. 检查名称拼写与大小写

Katalon对自定义关键字的包名、类名、方法名的拼写和大小写是敏感的,一定要确保你调用的名称和目标关键字的实际名称完全一致,避免拼写错误。

替代调用方式(同包下更简便)

如果两个自定义关键字在同一个包下,你也可以直接创建目标类的实例来调用方法,不需要依赖CustomKeywords,比如:

// 假设同包下有AnotherKeyword类
def anotherKeyword = new AnotherKeyword()
anotherKeyword.itsMethod(testObject)

完整示例代码

这里给你一个符合规范的代码示例,参考调整你的关键字:

import com.kms.katalon.core.keyword.CustomKeywords
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

class Mandatoryfieldvalidation {
    def textfieldvalidation(TestObject testObj) {
        // 调用另一个自定义关键字
        CustomKeywords.'com.utils.InputUtils.clearInputField'(testObj)
        
        // 执行必填项验证逻辑
        WebUI.verifyElementPresent(testObj, 10)
        WebUI.verifyElementAttributeValue(testObj, "required", "true", 10)
        // ...其他验证代码
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:48:58