whistle代理+mock轻松解决“页面端“测试接口没数据难题

0、whistle是什么?怎么用?

自行百度,此处不再赘述!

1、示例演示(交易订单测试)
  • 背景和痛点最近在测试一个小需求,需要涉及订单侧服务+商品库侧服务+库存侧服务+财务侧线下交易服务。痛点主要在订单侧,需要配置脉聘 + 特价优惠配置(这里是个痛点)
    为什么说【特价优惠配置】是个痛点?
    因为之前开发同学在上一个需求开发过程中,为了能更充分的在沙箱进行测试,修改了一些代码让特价优惠配置的时候,沙箱和线上环境互斥了:即沙箱如果操作特价优惠配置,那么就会覆盖线上的配置数据—至于为什么这么玩?不太清楚,详细可以咨询开发或 测试。然后测试脉聘,需要在【框架合同】下的【XXXX】表单里有一个get接口需要取到配置的特价配置数据,然后才能享受特价配置计算价格等–下面会有详细说明图文的

  • 如何解决呢?因为测试基本都在沙箱(需要配置hosts),我们又没办法通过页面配置,那么我们只能换一种方案:即mock【框架合同】下的【XXXX】表单里有一个get接口的返回值(前提是得知道这个接口返回值的数据类型)。

  • 实施步骤:

    • 首先进入【框架合同】下的【XXXX】表单页面,打开开发者模式,拿到添加商品时调用的get获取配置接口,如下图:
      在这里插入图片描述

    最终我们能拿到get接口是:https://xxxxxxx/aaa/bbb/create/findXXXX?contractNo=xx-xx-KJ-xxxxxxxxxxx&pxxxCode=8102614xxxxx0000接口返回值demo:json的字符串

[{"id": 123123123123123123123,"type": 8,"limitCountMin": 0.01,"limitCountMax": 0.02,"discount": 5.00000,"discountExtra": 2.85000,"state": 1,"creatorId": "20150106xxxxxxx","createTime": "2022-10-18 00:36:36","updateId": "201811xxxxxxxxxx","updateTime": "2023-01-30 18:31:52","businessType": 0,"customerType": 0,"consumeMonth": 0,"consumeQuarter": 0,"productLine": 1,"productCode": "820916xxxxxxx0001","businessTypes": "[1],[4],","computeWay": 1,"validTimeType": 1,"validBeginTime": "2021-06-18 00:00:00","validEndTime": "2022-10-17 23:59:59","relationId": "16660xxxxxx550","realDiscount": 0.1419999999999999873434575192732154391705989837646484375
}]
  • 拿到接口和接口返回值我们就好mock了

  • 本地安装whistle并进行一些必要的代理配置–自行百度

  • 启动whistle 并新增values文件
    在这里插入图片描述
    文件名随便定义,文件的内容就是接口的数据结构,json字符串,当然其中部分字段的值可能需要根据业务规则做相应修改—详询开发补充:如果接口返回是json格式的,需要格式化接口返回值的demo数据,然后放到文件中。并且需要修改文件名为xxxx.json即可

  • 然后新增策略
    在这里插入图片描述
    我们可以新增一个如上图,也可以直接放在default里因为我们需要mock接口返回值,这里直接放需要被mock的接口(无需包含入参),然后加我们设置的file即可格式是:【接口url】【空格】【file://{values中的文件名}】如上例:https://xxxx/xxx/xxx file://{testForMaiPin}

  • 然后就可以抓包了(最后在下图最下面黑框的filter中过滤一下接口域名或直接指定接口名也行,不然可能抓到很多请求不好check)
    在这里插入图片描述

  • 最后去页面操作【框架合同】下的【XXXXX】表单页面,再次添加商品时,可以看到抓包到的接口已经有返回值了
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ISO9001 质量体系认证对企业有什么好处?

ISO 9001质量体系认证对企业有许多潜在的好处,这些好处有助于提升企业的内部运作效率、客户满意度以及市场竞争力。以下是ISO 9001认证的一些主要好处: 1. 提高质量管理水平:ISO 9001要求企业建立一套完整的质量管理体系,这套体系…

redis夯实之路-键过期与发布订阅详解

设置键的生存时间或过期时间 Setex(单位s),expire(s),pexpire(ms)可以设置键的生存时间, Expirate,pexpirate设置键的过期时间(timestamp的时间…

Spark 读excel报错,scala.MatchError

Spark3详细报错: scala.MatchError: Map(treatemptyvaluesasnulls -> true, location -> viewfs://path.xlsx, inferschema -> false, addcolorcolumns -> true, header -> true) (of class org.apache.spark.sql.catalyst.util.CaseInsensitiveMap)scala代码…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第三天-UDP编程(物联技术666)

技术咨询:wulianjishu666 上午:UDP网络编程 下午:UDP聊天程序的设计、select超时控制 教学内容: 1、udp和tcp都是在传输层上的协议,它们的区别 UDP协议与TCP协议的差异: TCP:面向连接,可靠 UDP:无连接,不可靠 ----------------------- UDP协议的优势: 支持…

openssl3.2 - 官方demo学习 - client-conf.c

文章目录 openssl3.2 - 官方demo学习 - client-conf.c笔记client-conf.c配置文件格式 - connect.cnf备注END openssl3.2 - 官方demo学习 - client-conf.c 笔记 client-conf.c client-arg.c是从命令行参数中得到TLS服务器ip/port. client-conf.c 从配置文件中读取TLS服务器ip…

【降龙算法】基于QT插件机制实现一个机器视觉算法小框架

机器视觉行业有各种各样的拖拉拽框架,也叫做低代码平台,例如国内海康的VisionMaster: 一个机器视觉框架需要包含各种算法模块,日志窗口,图像显示窗口等等,【降龙算法】就是做了一个入门级的机器视觉算法框…

群狼调研开展某连锁咖啡厅NPS及消费者心理研究调研

为了解某全国连锁咖啡厅的NPS值及消费者心理状况,找出咖啡厅在服务质量、产品等方面的差距和优势。群狼调研(长沙消费者需求调研)受客户委托开展连锁咖啡厅NPS及消费者心理研究调研。 本次调研主要分为以下步骤: 1.设计问卷&#…

(核心变量)全国上市公司对外开放程度+dofile+参考文献(2000-2022年)

上市公司的对外开放程度数据反映了这些公司在国际市场上的活跃度和全球化程度。这包括了它们的国际贸易参与度、跨国投资和合作、国际市场的营销和品牌推广策略,以及在不同国家和地区的业务布局。此外,这段时间内不同行业和公司的对外开放程度可能有明显…

Python基础(二十八、多态、抽象类)

文章目录 一、什么是多态?二、多态的实现1.通过继承实现多态2.抽象类实现多态2.1 抽象类的实现2.2 抽象类的注意事项2.3 总结 三、注意事项四、总结随笔练习抽象类 在面向对象编程中,多态是一种强大的概念,它允许不同类型的对象对相同的消息做…

C++学习笔记(三十六):c++ 线程

本节主要学习c线程。线程的简单代码示例 #include <iostream> #include <thread> static bool s_Finished false;void Work() {using namespace std::literals::chrono_literals;std::cout << std::this_thread::get_id() << std::endl;while (!s_Fin…

代码随想录算法训练营第七天|哈希表理论基础,454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解&#xff0c;一定要先看视频&#xff0c;事半功倍。写博客&#xff0c;将自己的感悟沉淀下来&#xff0c;不然会忘大家提问的时候&#xff0c;记得要把问题描述清楚&#xff0c;自己在哪一步遇到了问题&#xff0c…

记录一个Insert姿势引起的MySQL从库上查不到数据的问题

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题描述&#xff1a; 某测试环境的MySQL用了两台节点&#xff0c;主从同步结构。忽然有研发同学反映说MySQL的主从不同步了。他…

大数据技术原理与应用期末复习(林子雨)

大数据技术原理与应用期末复习&#xff08;林子雨&#xff09; Hadoop的特性HBase编程实践NoSQL的四大类型键值数据库优点&#xff1a;缺点&#xff1a; 列族数据库优点&#xff1a;缺点&#xff1a; 文档数据库优点&#xff1a;缺点&#xff1a; 图数据库优点&#xff1a;缺点…

《设计模式的艺术》笔记 - 工厂方法模式

介绍 在简单工厂模式中&#xff0c;当系统中需要引入新的产品时&#xff0c;由于静态工厂方法通过所传入的参数的不同来创建不同的产品&#xff0c;这必定要修改工厂类的源代码&#xff0c;将违背开闭原则。因此&#xff0c;工厂方法模式应运而生。工厂方法模式是定义一个用于创…

超声波眼镜清洗机清洗眼镜会有伤害吗?适合洗眼镜超声波清洗机

眼镜作为日常生活中不可或缺的辅助视力工具&#xff0c;经常需要清洁保养以确保视力清晰和舒适佩戴。随着科技的发展&#xff0c;超声波眼镜清洗机成为越来越受欢迎的清洁方式。然而&#xff0c;很多人可能会担心使用超声波清洗机是否会对眼镜造成损害。但是可以很可以的告诉大…

【CMake报错解决】解决ITK和VTK版本不对应问题

ITKVTKGlue编译报错&#xff1a; CMake Error at C:/…/ITK/debug/lib/cmake/ITK-4.13/Modules/ITKVtkGlue.cmake:37 (vtk_module_config): Unknown CMake command “vtk_module_config”. 原因&#xff1a;ITK和VTK版本不对应导致找不到vtk_module_config文件&#xff0c;编译…

设计模式——原型模式(Prototype Pattern)

概述 原型模式(Prototype Pattern)&#xff1a;使用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式的工作原理很简单&#xff1a;将一个原型对象传给那个要发动创建的对象&#xff0c;这个要发动创建的对象…

C1-3.4 多个样本的向量化

C1-3.4 多个样本的向量化 1、为什么要用样本的向量化呢&#xff1f; 总结一句话&#xff1a;计算方便 下图是神经网络计算的步骤&#xff0c;右侧 是有一个输入变量a[0]&#xff08;什么是X呢&#xff0c;因为输入层有三个神经元&#xff0c;说明有三个输入变量&#xff0c;…

15 个适用于 Windows 的 PDF 解锁工具大全

PDF&#xff08;便携式文件格式&#xff09;是一种文件格式&#xff0c;用于呈现和交换任何独立于任何软件、硬件或操作系统的可靠访问的文档。Adobe 发明了它&#xff0c;但现在它是由国际标准化组织 (ISO) 维护的开放标准。因此&#xff0c;您现在必须了解这些 PDF 解锁工具。…

Spring Boot项目中校验器的使用与注意事项

Spring Boot项目中校验器的使用与注意事项 Spring Boot为开发者提供了强大而灵活的校验机制&#xff0c;通过使用校验器&#xff08;Validator&#xff09;&#xff0c;我们能够在应用程序中方便地进行数据验证和错误处理。本文将深入介绍Spring Boot中校验器的使用方法&#…