文章目录
- 一、性能测试脚本编写
- 1.1 常用的Jmeter元件
- 1.2 编写脚本-http请求默认值
- 二、实现测试用例
- 2.1 注册接口
- 2.1.1 注意1
- 2.1.2 接口信息
- 2.2 登录接口
- 2.3 进入首页
- 2.4 搜索商品
- 2.5 获取商品信息
- 2.6 添加购物车
- 2.7 查看购物车
- 2.8 商品结算
- 2.9 提交订单
- 2.10 查看我的订单
- 三、实现业务场景测试用例
- 3.1 下单业务场景
一、性能测试脚本编写
使用JMeter编写测试脚本并调试
1.1 常用的Jmeter元件
- 取样器-HTTP请求
- 配置元件-HTTP请求默认值
- 配置元件-用户定义的变量
- 后置处理器-JSON提取器
- 断言-响应断言
- 断言-JSON断言
- 监听器-察看结果树
- 监听器-聚合报告
1.2 编写脚本-http请求默认值
位置:测试计划-配置元件-http请求默认值
作用:测试计划中的所有请求,均可以共用http请求默认值设置的内容(请求方法,URL,端口号)
二、实现测试用例
根据编写的测试用例文档, 使用JMeter实现测试用例
1、登录
2、进入首页
3、搜索商品
4、获取商品信息
5、添加购物车
6、查看购物车
7、商品结算
8、提交订单
9、查看我的订单
2.1 注册接口
2.1.1 注意1
1、项目在开发的时候,后台接口端口用的8080,而前端访问的时候把8080改为8082和8081。
2、用jmeter测试要绕过前端界面,访问后台。
3、发送注册请求前,要先获取验证码请求(方法、URL、请求体数据从F12获取)
4、实现注册接口时,保证用户唯一,手机号 与获取验证码的手机号保持一致
2.1.2 接口信息
请求网址: http://www.litemall360.com:8080/wx/auth/register
请求方法:POST
请求头:Content-Type: application/json;charset=utf-8
请求体:
// 用户名和手机号唯一,如果数据库已经有,请修改{"code":"666666","username":"xiaoxiao","password":"123456","repeatPassword":"123456","mobile":"13006120403"}2.2 登录接口
请求网址:http://182.92.81.159:8080/wx/auth/login
请求方法:POST
请求头:Content-Type: application/json;charset=utf-8
请求体:{“username”:“user123”,“password”:“user123”}
2.3 进入首页
请求网址:http://182.92.81.159:8080/wx/home/index
请求方法:GET
返回数据:
2.4 搜索商品
- 请求网址:http://182.92.81.159:8080/wx/goods/list?keyword=手机&page=1&limit=10&categoryId=0
- 请求方法:GET
- 返回数据:
2.5 获取商品信息
- 请求网址:http://182.92.81.159:8080/wx/goods/detail?id=1181000
- 请求方法:GET
- 返回数据:
2.6 添加购物车
请求网址:http://182.92.81.159:8080/wx/cart/add
请求方法:POST
请求头:Content-Type: application/json;charset=utf-8
请求体:{“goodsId”:1181000,“number”:1,“productId”:2}
返回数据:
1.加入购物车之前,需要先登录 2.在同一个线程中 -加入购物车线程组 --登录 --加入购物车 -查看结果树显示:请先登录 分析:登录之后显示返回token,但是并没有传给加入购物车。 3.token是登录响应结果返回的信息(json格式),要想给加入购物车请求用,必须把它提取出来。 4.在登录添加—>后置处理器—>JSON提取器,进行提取(返回的token是二级) { "errno": 0, "data": { "userInfo": { "avatarUrl": "", "nickName": "user123" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNzUzMTU2MjY2LCJ1c2VySWQiOjEsImlhdCI6MTc1MzE0OTA2Nn0.CisKA0jqVSxbq1J7kSg_H0D8ALuRBSM7vSAjRJ2a23o" }, "errmsg": "成功" } 5.提取的JSON对不对,可以在线程组添加—>取样器—>调试取样器 查看 6.登录之后的界面,都可以拿到token数据,登录浏览器 F12—>网络—>请求头 查看 key x-litemall-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNzUzMTU2NTAwLCJ1c2VySWQiOjEsImlhdCI6MTc1MzE0OTMwMH0._Dqn4PNR-fWYE-W5XbPlE18_EAdDfvwv5OB5NideVjs 7.添加购物车用token,因此在加入 购物车请求 中添加—>配置元件—>HTTP信息头管理器(专门给添加购物车用)2.7 查看购物车
请求网址:http://182.92.81.159:8080/wx/cart/index
请求方法:GET
返回数据:
{"errno":0,"data":{"cartTotal":{"goodsCount":3,"checkedGoodsCount":3,"goodsAmount":1578.00,"checkedGoodsAmount":1578.00},"cartList":[{"id":5,"userId":1,"goodsId":1110016,"goodsSn":"1110016","goodsName":"天然硅胶宠物除毛按摩刷","productId":150,"price":39.00,"number":2,"specifications":["标准"],"checked":true,"picUrl":"http://yanxuan.nosdn.127.net/3bd73b7279a83d1cbb50c0e45778e6d6.png","addTime":"2020-03-03 22:21:21","updateTime":"2020-03-23 22:43:54","deleted":false},{"id":6,"userId":1,"goodsId":1181000,"goodsSn":"1181000","goodsName":"母亲节礼物-舒适安睡组合","productId":2,"price":1500.00,"number":1,"specifications":["1.5m床垫*1+枕头*2","玛瑙红"],"checked":true,"picUrl":"quality=90&thumbnail=200x200&imageView","addTime":"2020-03-23 22:45:58","updateTime":"2020-03-23 22:45:58","deleted":false}]},"errmsg":"成功"}2.8 商品结算
请求网址:http://182.92.81.159:8080/wx/cart/checkout?cartId=0&addressId=0&couponId=0&userCouponId=0&grouponRulesId=0
请求方法:GET
返回数据:
{"errno":0,"data":{"grouponRulesId":0,"actualPrice":1500.00,"orderTotalPrice":1500.00,"cartId":0,"userCouponId":0,"couponId":0,"goodsTotalPrice":1500.00,"addressId":0,"grouponPrice":0,"checkedAddress":{"id":0},"couponPrice":0,"availableCouponLength":0,"freightPrice":0,"checkedGoodsList":[{"id":6,"userId":1,"goodsId":1181000,"goodsSn":"1181000","goodsName":"母亲节礼物-舒适安睡组合","productId":2,"price":1500.00,"number":1,"specifications":["1.5m床垫*1+枕头*2","玛瑙红"],"checked":true,"picUrl":"quality=90&thumbnail=200x200&imageView","addTime":"2020-03-23 22:45:58","updateTime":"2020-03-23 22:53:06","deleted":false}]},"errmsg":"成功"}2.9 提交订单
- 请求网址:http://182.92.81.159:8080/wx/order/submit
- 请求方法:POST
- 请求头:Content-Type: application/json;charset=utf-8
- 请求体:{“addressId”:“2”,“cartId”:“0”,“couponId”:“0”,“userCouponId”:“0”,“grouponLinkId”:0,“grouponRulesId”:0,“message”:“”}
- 返回数据:{“errno”:0,“data”:{“orderId”:2,“grouponLinkId”:0},“errmsg”:“成功”}
2.10 查看我的订单
请求网址:http://182.92.81.159:8080/wx/order/list?showType=0&page=1&limit=10
请求方法:GET
返回数据:
{"errno":0,"data":{"total":2,"pages":1,"limit":10,"page":1,"list":[{"orderStatusText":"已取消(系统)","aftersaleStatus":0,"isGroupin":false,"orderSn":"20200323326197","actualPrice":1500.00,"goodsList":[{"number":1,"picUrl":"quality=90&thumbnail=200x200&imageView","price":1500.00,"id":2,"goodsName":"母亲节礼物-舒适安睡组合","specifications":["1.5m床垫*1+枕头*2","玛瑙红"]}],"id":2,"handleOption":{"cancel":false,"delete":true,"pay":false,"comment":false,"confirm":false,"refund":false,"rebuy":false,"aftersale":false}},{"orderStatusText":"已取消(系统)","aftersaleStatus":0,"isGroupin":false,"orderSn":"20200303660201","actualPrice":12.90,"goodsList":[{"number":1,"picUrl":"http://yanxuan.nosdn.127.net/c7c74a96eacb29455dbf557b840eaaf5.png","price":4.90,"id":1,"goodsName":"磨砂杆直杆中性笔","specifications":["标准"]}],"id":1,"handleOption":{"cancel":false,"delete":true,"pay":false,"comment":false,"confirm":false,"refund":false,"rebuy":false,"aftersale":false}}]},"errmsg":"成功"}