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

RobotFramework自定义Xpath变量提示Variable not found问题咨询

问题原因及解决方法
    1. 变量定义语法错误
      RobotFramework的*** Variables ***区块要求变量名、等号、变量值三者之间必须保留至少一个空格分隔,你当前的写法${MAIN_FOLDER}=//span[text()=" AutomationTestFolder "]没有在等号两侧加空格,属于语法错误,系统无法成功识别${MAIN_FOLDER}变量,这是触发变量未找到报错的核心原因。
    1. 定位器前缀缺失
      就算变量定义正确,你原变量中只存储了XPath路径本体,没有加xpath=前缀,SeleniumLibrary默认会把无前缀的定位器当做id/name属性匹配,无法正常识别为XPath定位规则。
    1. 自定义关键字参数不匹配
      如果你使用的open context menu是自定义封装的关键字,需要检查该关键字的参数列表是否正确定义了入参,如果内部硬编码引用了不存在的${CUSTOM_VARIABLE},也会触发对应报错。
    1. 特殊字符转义错误
      你示例代码中的"是HTML格式的转义双引号,实际编写RobotFramework用例时直接使用普通双引号"即可,错误转义也可能导致变量值不符合预期。

修正后的可运行代码示例

*** Variables ***
# 等号两侧加空格,同时提前把xpath=前缀存入变量
${MAIN_FOLDER}    xpath=//span[text()=" AutomationTestFolder "]
# 这里替换为你自己的FRAME实际定位值
${FRAME}    你的frame定位器

*** Keywords ***
Folder tear down
    navigate to process designer
    wait until element is visible  ${FRAME}  180s
    select frame  ${FRAME}
    wait until element is visible  ${MAIN_FOLDER}
    click element  ${MAIN_FOLDER}
    open context menu  ${MAIN_FOLDER}
    wait until element is visible  xpath=//li[a[contains(@data-selected-option, "DELETE")]]  10s
    click element  xpath=//li[a[contains(@data-selected-option, "DELETE")]]
    wait until element is visible  xpath=//button[contains(@class, "btn-modal btn-modal-primary hide-focus")]
    click element  xpath=//button[contains(@class, "btn-modal btn-modal-primary hide-focus")]

自定义关键字open context menu的正确封装示例

*** Keywords ***
open context menu
    [Arguments]    ${locator}
    # 这里写你封装的具体逻辑,直接引用入参${locator}即可
    move to element    ${locator}
    click element    ${locator}    modifier=CONTROL
    # 其他你自己的逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:27:03