news 2026/6/9 18:33:48

【软件测试】7_性能测试实战 _编写测试脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【软件测试】7_性能测试实战 _编写测试脚本

文章目录

  • 一、性能测试脚本编写
    • 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元件

  1. 取样器-HTTP请求
  2. 配置元件-HTTP请求默认值
  3. 配置元件-用户定义的变量
  4. 后置处理器-JSON提取器
  5. 断言-响应断言
  6. 断言-JSON断言
  7. 监听器-察看结果树
  8. 监听器-聚合报告

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":"成功"}

三、实现业务场景测试用例

3.1 下单业务场景

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 0:32:23

ChatGLM-6B应用创新:个性化学习计划生成工具

ChatGLM-6B应用创新:个性化学习计划生成工具 1. 为什么你需要一个“会规划”的AI学习助手? 你有没有过这样的经历: 刚下定决心学Python,翻出教程却卡在环境配置; 想系统提升英语,买了三套资料却只坚持了三…

作者头像 李华
网站建设 2026/6/6 9:39:12

Fun-ASR-MLT-Nano-2512入门必看:800M多语言ASR模型Python API调用详解

Fun-ASR-MLT-Nano-2512入门必看:800M多语言ASR模型Python API调用详解 你是不是也遇到过这些场景: 听完一段跨国会议录音,想快速转成文字整理纪要,但手头工具要么不支持小语种,要么识别错得离谱;做短视频…

作者头像 李华
网站建设 2026/6/5 22:57:18

Fun-ASR文本规整(ITN)实测:‘二零二五年‘变‘2025年‘

Fun-ASR文本规整(ITN)实测:二零二五年变2025年 你有没有遇到过这样的场景:会议录音转成文字后,满屏都是“二零二五年”“一千二百三十四”“零点五倍速”?这些口语化数字表达看着没错,但一粘贴到正式报告、合同或PPT里…

作者头像 李华
网站建设 2026/6/8 23:19:40

MedGemma X-Ray镜像免配置优势:规避PyTorch/CUDA版本地狱的确定性环境

MedGemma X-Ray镜像免配置优势:规避PyTorch/CUDA版本地狱的确定性环境 1. 为什么医疗AI部署最怕“环境崩了” 你有没有经历过这样的场景: 刚在本地跑通的X光分析模型,一上服务器就报错——torch.cuda.is_available() 返回 False&#xff1b…

作者头像 李华
网站建设 2026/6/5 15:07:00

零售价签识别实战:cv_resnet18_ocr-detection快速获取价格信息

零售价签识别实战:cv_resnet18_ocr-detection快速获取价格信息 在超市、便利店、连锁药房等零售场景中,每天需要人工核对成百上千张价签——价格是否更新?促销是否生效?SKU是否匹配?传统方式依赖店员逐张拍照、手动录…

作者头像 李华