美文网首页接口测试自动化测试之路
jmeter-小程序接口串联测试

jmeter-小程序接口串联测试

作者: freedom_smile | 来源:发表于2020-07-14 16:53 被阅读0次
背景:小程序前端研发接后台研发写的接口,后台研发实现后面的逻辑。每次后台一改动就在手机上面去点点相对应的流程,那有没有什么可以减少这些重复的操作呢?为此做了一个简化版的小程序接口流程测试。顺便还可以做下压力测试。
示例是一个商城小程序部分步骤:
  1. 添加线程:


    image.png
    image.png
  2. 添加常用的变量


    image.png
    image.png
  3. 添加http默认值


    image.png
    image.png
  4. 手机用fiddler或者是charles抓包,将所有的接口都汇集在jmeter中


    image.png
    image.png
    image.png
  5. 将此接口的返回参数提取出来作为后续接口请求参数使用
    image.png
    格式:$.result[0].goodsSpec[${i}].price
    取此接口返回的result列表的第一个,goodsSpec列表的取我自定义变量设置的值的第几个+1(从0开始,如果设置的i是1,那就是取列表的第2个值)下面的price字段的值
    image.png
    image.png
  6. 下个接口使用上个接口返回的参数示例:


    image.png
  7. beanshell 前置处理器,对数据(格式和值)进行处理


    image.png

    根据自己的需要设置,一般取默认值就行:


    image.png
// 导入相关的包
import java.text.*;
import java.util.Date;
import java.text.DecimalFormat;
import java.util.HashMap;

// 生成按年月日时分秒和随机数的订单号
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyMMddHHmmss");
String dateString = formatter.format(currentTime);
String orderNo = "on" +dateString + (int)(1+Math.random()*(99999-1+1));
vars.put("orderNo",orderNo);

// 购买数量 取自定义变量参数
quantity = Integer.parseInt(vars.get("quantity"));
// 销售价 取前面接口返回的变量参数
price = Double.parseDouble(vars.get("price"));
// 会员价
memberPrice = Double.parseDouble(vars.get("memberPrice"));
// 优惠金额
totalFavorPrice = Double.parseDouble(vars.get("totalFavorPrice"));
// 统一配送费 
goodsPackFee = Double.parseDouble(vars.get("goodsPackFee"));
// 总计金额
totalAmount = memberPrice * quantity + goodsPackFee;
// 支付金额
payAmount = totalAmount - totalFavorPrice
// 折扣金额
discountAmount = (price - memberPrice) * quantity;
// 下单商品属性 按需要修改参数的格式
name = vars.get("name");
specInfo = name.replace('"','\\"');

log.info("______________________________");
//log.info(memberPrice.toString());
//将处理完的参数放到变量里面去供后续参数化使用
vars.put("totalAmount",totalAmount.toString());
vars.put("discountAmount",discountAmount.toString());
vars.put("specInfo",specInfo.toString());
vars.put("payAmount",payAmount.toString());
  1. 有的接口请求格式是json格式,需要进行设置:


    image.png
    image.png
  2. 设置查看结果树(看具体请求返回数据),汇总报告(看相关结果)


    image.png
    image.png
    image.png

好了,后续后台一改动就可以运行一下所有接口,保证基本流程是对的了。
如果需要简单的压测,设置线程数和时间就好了,看结果。

相关文章

  • jmeter-小程序接口串联测试

    背景:小程序前端研发接后台研发写的接口,后台研发实现后面的逻辑。每次后台一改动就在手机上面去点点相对应的流程,那有...

  • Jmeter-使用Stepping Thread Group插件

    Jmeter-使用Stepping Thread Group插件来设置负载场景 前言: 什么是实际的性能测试???...

  • 接口测试入门

    1 接口测试的类型 主要包含三种测试: Web接口测试, 应用程序接口(API, application prog...

  • 接口测试 | 接口测试入门

    接口测试讲义 1. 接口测试的类型 主要包含三种测试: Web接口测试, 应用程序接口(API, applicat...

  • 微信小程序接口测试时appid为空如何解决

    一、web接口测试和app/微信小程序接口测试的区别 web接口一般是通过浏览器访问,app接口是通过手机端访问的...

  • Jmeter-接口测试

    jmter 配置csv文件 jmter参数化:${location} jmter json解析 json提取器:【...

  • 12. Jmeter-断言

    jmeter-断言介绍与使用 性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断...

  • JMeter-参数化

    JMeter-参数化

  • 接口测试

    api接口属于操作系统或者程序接口 接口测试 测试系统组件间接口的一种测试 接口测试主要检查外部系统和系统之间和内...

  • 变频串联谐振装置组件的介绍及其作用

    变频串联谐振装置是电力系统中重要的测试设备之一,它可以进行各种交流电压测试。你知道串联谐振测试装置的部件吗? 1、...

网友评论

    本文标题:jmeter-小程序接口串联测试

    本文链接:https://www.haomeiwen.com/subject/ekqfhktx.html