独孤湘瑶  

声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改。

 

背景:电商系统主要的接口,到目前为止,就剩下最后的最重要的订单支付了。也是功能最多的一块,例如购物车提交订单、订单列表、订单详情、订单支付、订单取消、订单删除、订单收货、订单售后等等。

思路

1、前提条件:A用户登录,有收获地址,有购物车数据。

2、判断订单列表是否有数据,如果没有数据,则新增订单并支付。

3、订单列表有数据,判断数据状态,待付款的取消并删除,已取消的删除。

4、后面的订单收货、订单售后等就不继续下去了,主要是多练习多熟悉。

 

1. 【查看订单列表】

【JSON断言】

【JSON提取器-订单总数】

  用来判断订单列表是否有数据,如果订单总数==0,则新增订单并支付。如果订单总数>0,则判断订单状态。

【JSON提取器-订单ID】

  用来通过订单ID定位来取消或删除订单。

【JSON提取器-订单状态】

  用来判断订单是否取消或删除,如果订单状态==1(待付款),则取消支付,删除订单。如果订单状态==5(已取消),则删除订单。

 

2. 【IF控制器--新增支付订单】

【新增订单】

  【HTTP信息头管理器】

    根据自身需求,如果新增订单参数较多,用到【消息体数据】,则需要添加【HTTP信息头管理器】。

  【JSON断言】

  【JSON提取器-获取订单ID】

    为了给支付订单传送ID,所以需要JSON提取订单ID。

【支付订单】

  【JSON断言】

 

3. 【IF控制器--取消删除订单】

【循环控制器】

  【计数器】

  【IF控制器-待支付取消删除】

    【取消订单】

    【删除订单】

      这里有作用域,取消订单后需要多操作【删除订单】,这个取消订单状态并不能给到下面的判断。

  【IF控制器-已取消删除】

    【删除订单】

 

4. 【调试取样器】

 

5. 【查看结果树】

  展示从注册到支付订单全过程

 

6. 【IF控制器语法问题】

  虽然并不能十分确定,但是通过多次(差不多2个多小时)的反复作死,基本上可以确定了,IF控制器的语法不能直接写JSONPath的语法,无论怎么改都会报错,跟正确与否没有关系,它会提示数据语法错误。可以先通过【JSON提取器】把要需要的数据给提取出来,再通过变量来进行判断。截图中数据可以说明,addr_id_all是变量,通过JMeter工具依读取,这里没有问题。但是$..[?(@.id==10029)].is_default这是一个完整的JSONPath语法,正常来说在查看结果树里是可以通过【JSON Path Tester】得出结果,但是【IF控制器】这里却不行。

 

posted on 2024-07-28 19:42  独孤湘瑶  阅读(41)  评论(0)    收藏  举报