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

Robot Framework跨关键字传参方法及传值失败排查

问题根因

你的脚本存在3个直接导致变量传递失败的错误:

  • 为creating the merchant关键字错误声明了入参${randomMerchantName}:该变量是关键字内部生成的,不需要外部传入,且你调用关键字时未传对应参数,本身就会触发参数缺失报错;同时同名局部变量会覆盖后续Set Suite Variable的作用域,导致全局变量设置失效。
  • 虽然为creating the merchant配置了返回值,但测试用例调用该关键字时未接收返回值,后续delete merchant也没有定义入参接收变量,无法拿到生成的商户名。
  • 删除关键字逻辑里的断言部分漏写了变量前缀$,{merchant_delete_PopUpmessage}会被识别为普通字符串而非变量,也会触发执行报错。
修复方案

给两种可直接运行的实现方式,按需选择即可:

方案1:基于套件作用域变量传递(匹配你原本的实现思路)

删除creating the merchant中多余的入参声明,修正变量拼写错误即可,修正后完整代码:

***** Test Cases *****
create merchant
    Given creating the merchant
    Then delete merchant

***** Keywords *****
creating the merchant
    ${random_number}     Generate Random Number
    Set Suite Variable    ${random_number}
    Fill Text    ${new_MerchantId}      ${random_number}
    ${randomMerchantName}    Generate Random Name    ${8}
    Set Suite Variable    ${randomMerchantName}
    Fill Text   ${new_MerchantName}     ${randomMerchantName}
    Fill Text    ${orgNumber}       23421
    Click    ${new_merchantAddButton}
    Click    ${PopUp_Okbutton}

delete merchant
    Click   ${Agreement_titlecontainer}
    Click    ${back_button}
    Sleep    10s
    Fill Text    ${MerchantName}    ${randomMerchantName}
    Click    ${merchant_SearchIcon}
    Click    ${Merchant_deleteIcon}
    Get Text    ${merchant_delete_confirmationPopUp}     *=     ${merchant_delete_PopUpmessage}
    Click    ${PopUp_Okbutton}
    Click    ${PopUp_Okbutton}

方案2:基于返回值+入参传递(更推荐,作用域清晰无全局污染)

不使用全局套件变量,创建商户关键字返回生成的随机名称,删除商户关键字显式声明入参接收变量,用例层完成值传递,可维护性更强,修正后代码:

***** Test Cases *****
create merchant
    Given creating the merchant
    ${merchant_name}    creating the merchant
    Then delete merchant    ${merchant_name}

***** Keywords *****
creating the merchant
    ${random_number}     Generate Random Number
    Fill Text    ${new_MerchantId}      ${random_number}
    ${randomMerchantName}    Generate Random Name    ${8}
    Fill Text   ${new_MerchantName}     ${randomMerchantName}
    Fill Text    ${orgNumber}       23421
    Click    ${new_merchantAddButton}
    Click    ${PopUp_Okbutton}
    [Return]    ${randomMerchantName}

delete merchant
    [Arguments]    ${randomMerchantName}
    Click   ${Agreement_titlecontainer}
    Click    ${back_button}
    Sleep    10s
    Fill Text    ${MerchantName}    ${randomMerchantName}
    Click    ${merchant_SearchIcon}
    Click    ${Merchant_deleteIcon}
    Get Text    ${merchant_delete_confirmationPopUp}     *=     ${merchant_delete_PopUpmessage}
    Click    ${PopUp_Okbutton}
    Click    ${PopUp_Okbutton}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:36:24