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

Robot Framework中带expected_status的POST请求报错:关键字名称不能为空

解决Robot Framework POST请求添加expected_status报错“Keyword name cannot be empty”的问题

问题原因

你使用的POST On Session关键字本身不支持expected_status参数,直接把这个参数加到请求关键字里,导致Robot Framework解析参数时出现语法错误,触发“Keyword name cannot be empty”报错。

修正方案

发送请求后,单独断言响应的状态码即可,同时注意要把创建的请求头传递给POST On Session关键字:

InvalidPassword Test
    [Tags]    InvalidPassword
    Create Session    InvalidPassword     ${url_api}/${end_point_login}    
    Log To Console    ${url_api}/${end_point_login}
    ${body}=    Create Dictionary    mobile=*****     password=******        key=1
    ${header}=    Create Dictionary    Accept=application/json
    # 发送POST请求,传递headers参数
    ${response}=    POST On Session    InvalidPassword    ${url_api}/${end_point_login}    data=${body}    headers=${header}
    # 单独断言响应状态码是否符合预期
    Should Be Equal    ${response.status_code}    422    预期状态码为422,实际得到${response.status_code}

额外说明

  • POST On Session的合法参数包括session_id、url、data、params、headers等,没有expected_status,状态码断言需要单独用关键字实现
  • 原代码中创建了请求头但未传递给请求关键字,这会导致请求头不生效,修正时已补上headers=${header}参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:42:12