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

Robot Framework中如何对变量做算术运算并传入POST API请求体

没问题,我帮你梳理清楚这个Robot Framework的自动化流程,一步步实现你要的库存调整逻辑:

Robot Framework 库存自动调整实现方案

1. 先准备必要依赖与库导入

首先确保你已经安装了robotframework-requests库(用来处理API请求),然后在测试套件开头导入:

*** Settings ***
Library    RequestsLibrary

2. 调用GET API获取当前库存值

先发送GET请求拿到目标商品的库存,提取并存储到${quantity1}变量里,记得转成数值类型避免字符串比较问题:

*** Test Cases ***
Auto Adjust Inventory Threshold
    # 发送GET请求获取库存(替换成你的实际API地址)
    ${get_response}=    Get Request    https://your-inventory-api.com/items    params={"itemId": ${Itemid}}
    # 验证请求成功(可选但推荐,避免后续逻辑基于错误响应)
    Should Be Equal As Strings    ${get_response.status_code}    200
    # 从响应JSON中提取库存值(假设返回的JSON里有"quantity"字段,根据实际结构调整)
    ${quantity1}=    Get From Dictionary    ${get_response.json()}    quantity
    # 转换为整数类型,确保后续数值比较准确
    ${quantity1}=    Convert To Integer    ${quantity1}

3. 条件判断与算术运算

接下来判断是否满足调整条件,符合的话计算需要调整的库存值:

# 条件:库存大于4且商品ID为1时执行更新
    IF    ${quantity1} > 4 AND ${Itemid} == 1
        # 按照你的需求计算新值:${newQuantity} = ${quantity1} - 4
        # 用Evaluate关键字处理算术运算
        ${newQuantity}=    Evaluate    ${quantity1} - 4
        # 注意:如果你的POST API的quantity字段是**调整增量**(比如负数代表减少库存),
        # 那需要把值改成负数,比如:${newQuantity}=    Evaluate    -(${quantity1} - 4)
        # 具体要看你的API定义,这里先按你给出的需求写

4. 构造POST请求并发送更新

最后构造请求体,把计算好的${newQuantity}替换进去,发送POST请求完成库存调整:

# 构造POST请求体(用Create Dictionary生成结构化数据)
        ${post_body}=    Create Dictionary
        ...    distributionPointId=7
        ...    menuItemId=1
        ...    quantity=${newQuantity}
        ...    transactionDoneBy=11
        ...    transactionType=1
        ...    reasonId=11
        ...    barcode=""
        # 发送POST请求更新库存(替换成你的实际API地址)
        ${post_response}=    Post Request    https://your-update-api.com/inventory    json=${post_body}
        # 验证更新请求成功
        Should Be Equal As Strings    ${post_response.status_code}    200
        Log    库存已成功调整,调整值为${newQuantity}
    END

一些关键注意事项:

  • 替换代码里的https://your-inventory-api.com/items和https://your-update-api.com/inventory为你的实际API地址
  • 确保${Itemid}变量已经在测试用例中定义(比如通过Set Variable或者参数化传入)
  • 如果GET API的响应JSON结构不同,要调整Get From Dictionary的键名,比如如果库存字段叫stock就改成stock
  • 可以在POST请求后再加一个GET请求,验证库存确实降到了4以下,让流程更严谨

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:33:41