跳转到内容

🚀 5分钟搞定复杂业务测试!AngusTester多事务编排终极指南

从用户注册到业务操作,一条龙测试编排原来这么简单!

嘿,测试达人们!今天咱们用AngusTester编排一个包含用户注册→登录→业务操作的完整流程,让你见识下什么叫"测试一条龙服务"!🐉

🌟 先睹为快:基本脚本架构

yaml
specification: angus/1.0.0
info:
  name: 电商全链路压测
  description: 从注册到下单的完整业务流程
type: TEST_PERFORMANCE
plugin: Http
configuration:
  duration: 50min
  thread:
    threads: 5000
    rampUpInterval: 1min   # 每分钟增加100用户
    rampUpThreads: 100

💡 配置小贴士
rampUpThreads是渐进加压的神器!像煮汤一样慢慢加火候🔥,避免系统被瞬间打垮

🔄 核心事务流:像搭积木一样简单

第一步:用户注册

yaml
- target: HTTP
  name: 用户注册
  request:
    method: POST
    url: http://api.angus.com/user/signup
    body:
      rawContent: "{\"username\": \"test\", \"password\": \"123456\"}"
  assertions:
    - name: 状态码必须200
      type: STATUS
      expected: 200

第二步:模拟用户输入等待

yaml
- target: WAITING_TIME
  name: 输入等待
  maxWaitTimeInMs: 1000   # 等待1秒

真实场景还原:用户不会秒操作,这个等待让测试更真实!

第三步:用户登录

yaml
- target: HTTP
  name: 用户登录
  request:
    method: POST
    url: http://api.angus.com/user/signin
    body:
      rawContent: "{\"username\":\"test\",\"password\":\"123456\"}"
  assertions:
    - name: 登录必须成功
      type: BODY
      expression: $..token   # 检查返回token

🧩 高级玩法:业务场景编排

集合点:百人团购效果

yaml
- target: RENDEZVOUS
  name: 百人团集合点
  threads: 100       # 凑满100人才放行
  timeoutInMs: 100   # 最多等100毫秒

👥 场景还原:模拟秒杀场景,测试系统抗压能力

业务操作1:浏览商品

yaml
- target: HTTP
  name: 浏览商品
  request:
    method: GET
    url: http://api.angus.com/products
  assertions:
    - name: 必须返回商品列表
      type: BODY
      expression: $..products   # 检查商品列表

流量控制:防止系统过载

yaml
- target: THROUGHPUT
  name: 下单限流器
  permitsPerSecond: 50   # 每秒只放50请求
  timeoutInMs: 100       # 超时100毫秒

🚦 流量警察:保护系统不被突发流量冲垮!

业务操作2:提交订单

yaml
- target: HTTP
  name: 提交订单
  request:
    method: POST
    url: http://api.angus.com/orders
    body:
      rawContent: "{\"productId\": 123, \"quantity\": 1}"
  assertions:
    - name: 订单创建成功
      type: STATUS
      expected: 201

🧠 智能编排技巧

事务封装:业务操作原子化

yaml
- target: TRANS_START
  name: 订单事务开始

# ...中间操作...

- target: TRANS_END
  name: 订单事务结束

优势

  • 统计每个事务的成功率
  • 精准定位故障环节
  • 生成专业级事务报告

错误处理:智能容错机制

yaml
onError:
  action: CONTINUE     # 出错继续执行
  sampleError: true    # 采样错误
  sampleErrorNum: 20   # 最多记录20个错误

🛡️ 测试保镖:遇到错误不中断,继续执行并记录问题

💡 高手进阶技巧

  1. 参数化动态数据

    yaml
    body:
      rawContent: "{\"username\": \"{随机用户名}\"}"

    实现千人千面测试

  2. 关联调用

    yaml
    headers:
      Authorization: "Bearer {登录.token}"

    自动获取登录token用于后续请求

  3. 条件跳转

    yaml
    condition: "{响应码} == 200"

    根据响应结果动态调整流程

🌈 为什么选择AngusTester编排?

三步上手秘籍

  1. 复制本文YAML模板
  2. 替换成你的API地址
  3. 点击运行看火焰图🔥

现在就去试试吧!遇到问题随时回来看文档~ 📚
记住:好的测试编排,是压测成功的一半!


点击下载完整示例脚本S5_Test_1_Http_Pipeline_Performance.yaml
立即开始AngusTester测试之旅🔗 进入AngusTester控制台 🔗

最后更新于:

基于 GPL-3.0 许可发布