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

在Karate UI中如何创建自定义UI关键字以复用组件操作代码?

如何自定义关键字复用测试中的重复操作

当然可以通过自定义关键字来复用重复代码,以你提到的场景为例,下面以Robot Framework(这类关键字驱动测试框架的典型代表)为例,给出两种实现方式:

方式一:在测试文件内直接定义关键字

在你的.robot测试文件中,添加*** Keywords ***段落,把重复的操作封装成自定义关键字:

*** Keywords ***
Select Custom List
    [Arguments]    ${list_locator}    ${item_text}
    Scroll    ${list_locator}
    Click    ${list_locator}
    Click    {}${item_text}

之后在测试用例里,直接调用这个自定义关键字即可:

*** Test Cases ***
测试选择列表项
    Select Custom List    #myList    MyItem

方式二:封装为可复用的资源/库

如果需要在多个测试文件中复用这个关键字,可以把它放到单独的资源文件或Python库中:

1. 用资源文件(.robot)共享

创建一个比如CustomKeywords.robot的资源文件,写入上面的Select Custom List关键字定义,然后在需要的测试文件开头导入:

Resource    ../Resources/CustomKeywords.robot

2. 用Python库实现复杂逻辑

如果需要添加异常处理、元素存在校验等复杂逻辑,可以用Python编写自定义库:
创建CustomKeywords.py文件:

from robot.api.deco import keyword
from robot.libraries.BuiltIn import BuiltIn

@keyword
def select_custom_list(list_locator, item_text):
    builtin = BuiltIn()
    # 可以在这里添加额外逻辑,比如判断列表是否加载完成
    builtin.scroll(list_locator)
    builtin.click(list_locator)
    builtin.click(f"{{}}{item_text}")

然后在测试文件中导入这个库:

Library    CustomKeywords.py

之后同样可以在测试用例中直接调用Select Custom List关键字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:08:16