mock(抓包)-测试平台开发-1.平台介绍

这期课程主要教大家从0到1的实现一个测试平台的开发,同时也是对自己学习的一个记录;项目采用前后端分离的开发方式,只需要有一点的HTML+css+JS的基础和
一些python的语法基础,就能够看懂这期课程; 学习完成后,之后自己可以自由的搭建更多的测试平台:
如接口测试平台(底层采用requests),WEB_UI测试平台(底层采用PO设计模式+selenium),APP测试平台(底层采用appium)

测试痛点:

在日常的测试工作中,常常会遇到下面情况:

  1. 需要测试页面显示的边界长度问题; 如:浏览量,订单已购数量,等,需要看如果过长的文字,页面样式是否会错乱
  2. 一些前端页面已写好,但后端服务还没有写好,测试人员只能等待提测,从而浪费测试资源
  3. 因为当前APP包打的是测试环境的,这时候想验证一个只在正式环境中存在的问题,这时候还需要麻烦开发在打一个正式包;
  4. 需要验证提现金额大于当前剩余金额的情况;当前 前端已做了限制,无法手动输入,为防止意外,还需要对其进行测试; 参数过多, 这时可以通过直接串改前端提交的请求金额参数来达到目的
    …等等情况

解决方式:

针对以上测试痛点; 我们可以开发一款在web端运行的抓包工具,在web端进行抓包项目数据,并进行修改请求,修改响应,模拟响应, 串改域名的方式来解决测试痛点。

实现方式

明白了,要解决什么后,我们就该选用技术来实现上述功能了;经过调研网络上的各种工具后,最后选用了mitmproxy来搭建平台项目的底层抓包;
同时mitmproxy是需要结合python来二次开发的,所以服务端接口框架选用了django-rest-framework 做为后端服务; 而前端这里采用的Vue2做为前端框架,页面元素采用elementUI 实现前端的快捷开发

项目底层架构

目前对项目的一个初步设想: 用户在前端点击 开启抓包-》调后端接口–》后端启动抓包线程-同时开始websocket服务–》返回抓包启动的端口号给前端–》前端拿到端口后连接websocket服务,与之建立通信–》抓包线程开始抓包(同时可以做修改数据等操作)-》抓到的数据同时websocket通信发送给前端用户-》用户展示在页面中;

mock(抓包)-测试平台开发-1.平台介绍_第1张图片

效果预览:

演示修改请求: 抓百度的搜索接口,搜索参数为wd; 将wd的内容进行修改,这样就不考虑前端输入的是什么,发送给服务器的都是我们在设置中填写的值;

其他: 欢迎大家关注公众号: 测试开发分享 了解最新文章更新

你可能感兴趣的:(Mock测试平台,测试工具)