自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 自研抓包服务分享

分享环节:代理服务功能介绍解决哪些场景如何快速使用抓包服务思路抓包服务实现遇见哪些问题和解决办法抓包服务展望一、代理服务功能介绍代理ip直显。一般方式:Mac:ifconfig | grep “inet” | Windows:ipconfig | Charles:Help→Local IP Adress→en0代理设置简单。手机wifi设置+扫描二维码+安装证书代理方式操作简单。全局开关+代理方式+共享代理+实时生效保留历史数据,和即时数据区分开定时任务。历史数据保留7天,即

2021-05-19 19:27:44 411

原创 遇见的困难&解决办法

遇见的困难&解决办法当request更改请求域名时,请求接口报错"Changing the Host server for HTTP/2 connections not allowed: (pre-gapp.inuozhen.com,80)"解决:参照https://discourse.mitmproxy.org/t/reverse-mode-change-request-host-according-to-the-sni-https/466 遇见类似的问题解决方案,建议关掉HTTP 2,因

2021-05-11 14:36:31 421 1

原创 自研抓包服务实现(9)—Django服务实现Rewrite

抓包服务实现(9)—Django服务实现RewriteDjango服务针对Rewrite如何设计?保存Rewrite配置并支持修改、删除能选择Rewrite配置并确定Map支持更改request、response任意字段Map Local规则优先级高于Rewrite核心问题是如何修改request、response任意字段的值保存Rewrite配置我们希望有一个Rewrite总表,用来记录并提供选择去确定Mapfrom native_project.response import Re

2021-05-10 10:26:48 207

原创 自研抓包服务实现(8)—Django服务实现Map Local

抓包服务实现(8)—Django服务实现Map LocalDjango服务针对Map Local如何设计?保存Map Local配置并支持修改、删除能选择Map Setting确定Map Local核心问题是如何暂存确定Map Local的Map Setting保存Map Local配置我们希望有一个Map Local总表,用来记录并提供选择去确定Mapfrom native_project.response import Responsefrom native_project.mong

2021-05-10 10:26:05 154

原创 自研抓包服务实现(7)—Django服务实现Map Remote

抓包服务实现(7)—Django服务实现Map RemoteDjango服务针对Map Remote如何设计?保存Map Setting配置并支持修改、删除能选择Map Setting确定Map Remote核心问题是如何暂存确定Map Remote的Map Setting保存Map Remote配置我们希望有一个Map Remote总表,用来记录并提供选择去确定Mapfrom native_project.response import Responsefrom native_proj

2021-05-10 10:25:32 152

原创 自研抓包服务实现(6)—Django服务实现Map Switch开关

抓包服务实现(6)—Django服务实现Map Switch开关设置Map开关我们希望有一个配置是能控制所有的功能开关,比如Map Remote、Map Local等from native_project.response import Responsefrom native_project.mongdb import MongoDBfrom bson import ObjectIdimport jsonResponse = Response()MongoDB = MongoDB('swi

2021-05-10 10:24:58 149

原创 自研抓包服务实现(5)—Django服务处理抓包数据

抓包服务实现(5)—Django服务处理抓包数据Django服务处理抓包数据如何设计?为提高性能,先获取所有flow的请求数据再通过每个flow的id属性查询flow的完整数据由于flow的短暂性,支持可一键删除源数据核心问题是如何提高性能,减少抓包数据展现的时间gap获取请求信息我们希望是先获取到flow的关键信息,不用全部返回,这样既能减少接口的负担,也能减少前端渲染的性能消耗import pymongofrom native_project.response import Res

2021-05-10 10:24:26 247

原创 自研抓包服务实现(4)—mitmproxy实现Rewrite

抓包服务实现(4)—mitmproxy实现RewriteCharles代理有些典型功能Map Remote 指向域名Map Local 指向返回bodyRewrite 改写请求字段Start Throttlling 开始限速Clear 清除Stop Recording 停止记录Filter 过滤Breakpoint 断点Repeat 重复Copy 复制实现Rewrite需要哪些?改变配置能够及时生效;不改变配置,之前的配置依旧生效需要一个总开关,一键启动map需要知道当前

2021-05-10 10:23:50 478

原创 自研抓包服务实现(3)—mitmproxy实现Map Local

抓包服务实现(3)—mitmproxy实现Map LocalCharles代理有些典型功能Map Remote 指向域名Map Local 指向返回bodyRewrite 改写请求字段Start Throttlling 开始限速Clear 清除Stop Recording 停止记录Filter 过滤Breakpoint 断点Repeat 重复Copy 复制实现Map Local需要哪些?改变配置能够及时生效;不改变配置,之前的配置依旧生效需要一个总开关,一键启动map需要

2021-05-10 10:22:48 401

原创 自研抓包服务实现(2)—Mitmproxy实现Map Remote

抓包服务实现(2)—Mitmproxy实现Map RemoteCharles代理有些典型功能Map Remote 指向域名Map Local 指向返回bodyRewrite 改写请求字段Start Throttlling 开始限速Clear 清除Stop Recording 停止记录Filter 过滤Breakpoint 断点Repeat 重复Copy 复制实现Map Remote需要哪些?改变配置能够及时生效;不改变配置,之前的配置依旧生效需要一个总开关,一键启动map

2021-05-10 10:22:13 726 6

原创 自研抓包服务实现(1)—Mitmproxy抓包数据处理

抓包服务实现(1)—Mitmproxy抓包数据处理mitmproxy是什么?官网介绍:mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.简而言之:mitmproxy支持拦截http、https请求mitmproxy怎么使用?由于mitmproxy是python第三方库,首先需要安装,建议直接用

2021-05-10 10:21:29 1924 3

原创 自研抓包服务思路的产生

抓包思路的产生抓包是什么官网解释:抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。简而言之:截取请求包,想干啥干啥为什么要抓包分析bug(接口传参、返回body、header请求头)接口调试(Map、Rewrite、Throttling、Repeat、Filter、breakingpoint)请求记录(功能、对接)抓包工具有哪些目前常用:Fiddler、Charles、F12

2021-05-10 10:16:54 276

原创 构建dtu

前提安装java环境拥有dtu构建jar包系统批处理命令(.bat 或者.command)mac构建将apk包和jar包所在文件路径复制编辑命令java -jar (jar包所在路径)put -c (渠道号) (apk所在路径)保存命令为command文件(即后缀名.command)给该文件赋予终端打开权限chmod +x (文件名)注意:command文件赋予权限时,需要cd到所在目录进行chmodwindows构建将apk包和jar包所在文件路径复制编辑命令java

2021-03-25 19:29:16 118

原创 自研抓包服务调研情况

抓包服务调研情况期望目标: 自研可视化抓包服务,可共享 能抓到大多数协议,尤其是TCP协议 功能模仿charles,能maplocal、mapremote以及过滤、断点等等 map功能做成表单提交,方便使用 调研对象:抓包四大神器:Charles、Fiddler、Wireshark、MitmProxy开源工具:Whistle、AnyProxy试用工具: Charles,目前为止使用最方便的工具,功能强大 MitmProxy,..

2021-03-25 19:21:51 290

原创 自动化框架意识反思(一)-fixtrue参数化

自动化意识反思(一)-fixtrue参数化反思背景:在前文:自动化意识演变_2中使用封装configparser来提供固定参数,其中就包括token每次调取登录接口获取token后,利用set方法将token更新,防止其他接口调用时出现token过期每个文件或者testsuite执行时通过get方法获取配置文件中的token发现什么问题首先配置文件里面的参数应该是固定的,不能用set进行更新如果是大型项目里面,token的获取方式也不是固定的(比如web端和app端共存的情况下)其次每

2020-09-11 11:30:50 403

原创 接口自动化(六)-框架意识-allure报告

自动化意识演变(六)-一键生成报告allure+jenkins为什么要生成报告可视化给领导看统计数据(成功率、采集数据)留存历史数据怎么生成报告自带插件pytest-html三方插件allure(allure更像一个服务)pytest-htmlpytest-html是一个插件,pytest用于生成测试结果的HTML报告如果要生成报告,代码如下:import pytestif __name__ == "__main__": pytest.main(['--html=

2020-09-09 16:29:10 634

原创 接口自动化(五)-框架意识-封装logging

自动化意识演变(五)-封装logging使用logging模块的背景在代码写完之后我们经常会进行debug调试通过打印print进行调试时,对于轻量级项目还行,重量级项目就显得繁琐日志可以回溯失败原因,尤其是依赖型接口上尤其重要收集日志进行统计,生成系列可视化报告关于loggingPython的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚

2020-09-03 16:53:21 204

原创 接口自动化(四)-框架意识-封装requests

自动化意识演变(四)-封装requests创建requestHandle封装requests减少参数def __init__(self, path, pyload): self.url = host+path print(self.url) self.headers = {} self.pyload = pyload封装get请求 def get(self): response = requests.re

2020-08-26 21:42:07 423

原创 接口自动化(三)-框架意识-封装configparser

自动化意识演变(三)-封装configparser创建configHandle封装configparser封装common.ini文件路径def __init__(self): #获取上上级目录(视情况而定) root_path=os.path.abspath(os.path.join(os.getcwd(), "../..")) #查找目录 self.file_path=os.path.join(root_path,'config'

2020-08-26 21:23:16 234

原创 接口自动化(二)-框架意识

自动化意识演变(二)关于configparser在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可。python经常会用到configparser来读写配置文件用法创建 ConfigParser() 对象读取文件内容,一般是.conf和.ini配置文件修改文件内容引入configparser标准库,对于当前业务逻辑需要干什么事了解业务接口(先从最基本的登录接口说起)每个接口的协议域名、

2020-08-26 15:15:32 198

原创 接口自动化(一)-框架意识

自动化意识演变接口基本常识我们所熟知的接口一般由以下部分组成:接口:协议、域名、端口、路径请求头:header请求体:body请求方式:post、get返回响应码:code返回数据:data比如get请求:import requestsurl = "http://xxx/x/game/account/register/get-account"payload = {}headers= {}response = requests.request("GET", url, head

2020-08-25 18:38:04 276

原创 python接口自动化踩坑日志(导入自定义模块)

python导入模块关于导入模块怎么添加自定义模块呢关于导入模块之前是通过编译器或者pip install下载模块,都是python的标准库。但很多情况下是需要将自定义模块导入使用,如果单纯将自定义模块和程序项目放在同一个文件夹进行import或者from…import…则会提示没有这个模块怎么添加自定义模块呢去网上查了查,同时也看了一下前辈们的case案例,发现有个简单的方法,大概思路是:将自定义模块通过方法导入Site-package环境中,这样可以给整个环境调用代码如下:from s

2020-05-18 15:41:25 294

原创 python接口自动化踩坑日志(__pycache__)

这里写自定义目录标题关于__pycache____pycache__文件夹干什么用的怎么删除__pycache__文件夹尝试后结果最终方案关于__pycache__有时候经常在运行程序的时候,发现项目里面凭空多出了__pycache__文件夹,对于使用并不会有什么影响,但是上传git或者视觉上来说,不够好看。所以决定删除这个__pycache__文件夹。__pycache__文件夹干什么用的去网上查了查,原来__pycache__相当于一个缓存,大概解释是:**当第一次运行 python 脚本时

2020-05-18 15:11:49 868

原创 测试工程师进阶之测试用例发散思维(二)

前两篇博客主要分别讲了自身对于测试工作的心得分享、如何快速编写出覆盖率高得测试用例以及如何按照项目进度进行执行测试用例。如需回忆可直接点击下方链接查看我前两篇文章。当然在插入链接与图片个人注册CSDN后第一篇分享关于测试工程师工作心得的文章https://mp.csdn.net/postedit/86013289测试工程师进阶之测试用例发散思维(一)https://mp.csdn.n...

2019-01-09 14:33:30 887 2

原创 测试工程师进阶之测试用例发散思维(一)

前面的第一篇文章主要是讲自己干测试以来的工作心得,采取第一人称的形式让各位同学能够深有体会。但我相信,你能继续看到这篇文章是因为,你开始因为我的代入而对测试多多少少有了一些兴趣并且想了解一下。那么,从这篇文章开始,我将持续提供技能方面的知识以及我对于测试的思考方式。从这篇主题的牵引下,我接下来会阐述测试用例的编写以及如何发散思维、更好的契合项目进度。相信大家从很多论坛或者讨论群里听说过...

2019-01-08 14:40:51 2034

原创 个人注册CSDN后第一篇分享关于测试工程师工作心得的文章

测试工程师叫得好听,其实就是测试小白。测试小白一般做什么呢?对,就是日常点点点。而日常点点点带给测试小白的感受就是下面这张图片表达的心情。 你可能关注过测试的薪酬对比;你可能面试的时候被面试官调侃为辣鸡;你也可能面试的时候人家根本不提及你的测试用例;你也可能在工作中自己都感觉到测试用例的单调;你也可能觉得写完测试用例基本没啥用,人家根本不看。那么问题来了。手工点点点为何不被...

2019-01-07 19:16:56 1147 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除