声明:本文所记录的仅本次操作学习到的知识点,其中商城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控制器】这里却不行。
标签:控制器,第十三,删除,取消,订单,JSON,支付,JMeter,终级 From: https://www.cnblogs.com/duguxiangyao/p/18328735