Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)

背景

  继之前鼓捣出了Mapi解密插件之后,在团队内已经使用了三年之久,一跃成为团队最爱欢迎的测试工具之一(加个之一,低调谦虚一点)。

  随着团队推行HttpRunner搞接口自动化;编写和维护Case带来的工作量成为同学们最头疼的事情;木有之一。HTTPRunner要求Case格式是YAML的;而我们的参数都是JSON的;每次编写新Case都要在二者中不断的转换,折腾的欲仙欲死。看着兄弟们日益低落的状态;我慢慢意识到,是时候再做点什么改进了。

  这时候新来的同事小青提出建议----能不能把Mapi请求导致为HAR文件,然后通过HTTPRunner的 har2case命令转成Case;这样不是快多了吗?

  小伙子有想法啊,不愧是我招进来的人!

  可既然最终目的是要转成YAML格式的Case;我为什么不直接转成Case?脱裤子放X先转成Har的事,咱可不干!

  打开尘封已久的C#工程;看了下git记录,上一次的提交还是一年多以前;稍微理了理思路,然后打开浏览器并飞速敲下了 google.com.hk;什么,为啥不是baidu ? 明叔给你一个白眼并向你扔了一个二踢脚。

上集回顾:

 【FiddlerScript高级技巧---自定义Fiddler菜单】

上上集 。。。

 【Fiddler插件 --- 解密Elong Mapi请求参数及响应内容】

一、先看效果

二、实现原理

1、原始的Mapi请求;需要经过一次unzip处理,再进行一次AES解密,才能转换为明文的JSON;如下图 (其中 "api" 这个字段,是在Fiddler中处理后加上去的;为了方便在转化为YAML Case时,自动添加URL; )

2、用Python + Flask 实现接口 http://ip:port/ConvertToYAML ; 用于实现JSON到YAML TestCase 的转换

    智能替换;
      通过转换后的结果图也可以看出;Flask接口在接收到请求后作默默地做了很多工作
      1)实现了自动配置Config;自动绑定变量;自动登录并获取Token;
      2) 在TestCase的Header里自动完成变量替换;如 deviceid version sessionToken等,
      3)入参中若有日期相关的参数;也会自动替换为动态方法,动态获取日期值。
      4)自动添加Hook函数;用于识别和处理Mapi请求

3、在Fiddler中将JSON入参和Header直接Post到上述接口中;并获取转换后的结果;

用接口处理转换,而不是在Fiddler插件中实现,是因为考虑到维护的灵活性;如何对用例的编写规范、模板等有变更 ,直接修改接口就好;不用每次发新的插件包来更新Fiddler客户端。

三、使用方法

 更新插件后,直接在查看入参的文本框中右键 ---【转换为YAML】即可;然后可以一键保存到自动化工程目录下稍作修改就可以提交git了

 需要进一步处理的地方如下(把大象装进冰箱分几步?):

    1、修改用例作者 (author 字段值)
    2、修改CaseName ;
    3、添加需要的断言

PS: 相比之前手撸Case代码,是不是快了不少呢

原文地址:https://www.cnblogs.com/zhm450/p/12676518.html

时间: 2024-10-04 02:33:10

Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)的相关文章

Fiddler插件 --- 解密Elong Mapi请求参数及响应内容

当前问题: 在我们日常的Web/App测试过程中, Fiddler是一大辅助利器:在我们团队,也经常使用Fiddler进行App抓包测试. 艺龙 App使用的REST(内部称为Mapi)接口,在使用过程中有如下特点: 1.接口请求入参:不论是GET还是POST接口:为保证隐私及数据安全,其入参均会经过一次AES加密:然后做一次Encode处理: 比如: 好吧,不经过解密,我也不知道req参数中又臭又长的到底是什么鬼: 2.接口响应,一般是经过Gzip或lzss压缩的: 这就导致在使用Fiddle

fiddler抓包手机请求(转)

http://ju.outofmemory.cn/entry/22854 从事前端开发的同学一定对Fiddler不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行google一下,本文不再作科普,简单的说它可以代替Chrome开发人员工具中Network面板或Firefox的HttpWatch插件的功能. 我们知道如何在电脑上调试页面请求,但在手机端你没有这么多强大好用的调试工具来调试你的webapp,如果你需要查看在手机上打开页面时,所产生的http请求却又不

使用Fiddler调试手机页面请求

从事前端开发的同学一定对Fiddler不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行google一下,本文不再作科普,简单的说它可以代替Chrome开发人员工具中Network面板或Firefox的HttpWatch插件的功能. 我们知道如何在电脑上调试页面请求,但在手机端你没有这么多强大好用的调试工具来调试你的webapp,如果你需要查看在手机上打开页面时,所产生的http请求却又不知道怎么做,那就继续往下看.(当然,大部分情况下,你可以直接在电脑上用Ch

Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

大家好,我是TT,互联网测试行业多年,没有牛逼的背景,也没有什么可炫耀的,唯独比他人更努力,在职场打拼.遇到过的坑,走过的弯路,愿意与大家分享,分享自己的经验,少走弯路.首发于个人公众号[测试架构师] 原文如下: 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:"你这个页面做的有问题,页面展示异常":小A说:"这哪是我的问题,你去找后台吧,后台接口返回数据有问题":小T就屁颠屁颠的跑到后台接口开发小M那里说:"

如何配置能让fiddler抓去https的请求?

1.打开fiddler,>>Tools>>Fiddler Options, 打开如图所示的HTTPS配置项: 点击Export Rppt Certifica to Desktop  : 桌面上多了一个证书: 下面就是将证书导入: 点击开始-运行,输入:mmc,打开如下图所示页面,点击红框菜单 最后点击完成,确定!    选择之前导出的证书文件,一路到底! 配置完毕! 转自 http://wangsheng14591.blog.163.com/blog/static/32779710

fiddler抓取HTTPS请求

Https即 Http over ssl,使用ssl加密传输数据,Http是明文传输数据的,所以Https必然比Http更安全.即使传输数据被劫持,劫持者也无法获取传输明文.从而保证了系统的安全性,尤其对于交易支付类业务来说,https的安全性尤为重要. 作为测试免不了会使用工具抓取请求,但是fiddler默认置灰抓取http请求,那么如何抓取HTTPS请求呢,下面根据自己的使用总结一下如何使用fiddler抓取HTTPS请求: 前置:fiddler可以抓取http请求 一.fiddler如何抓

使用Fiddler抓取手机请求

使用Fiddler抓取手机请求 Fiddler 手机 今天想尝试在手机上抓包,发现一个好玩的小工具——Fiddler. Fiddler是一个专门的抓包工具,可以模拟请求,修改请求,手机应用调试等.还是蛮有意思的一个小工具. 1.下载安装 Fiddler下载地址:http://www.telerik.com/download/fiddler 安装步骤比较简答, 就不介绍了.一直下一步就可以了. 2.配置PC端Fiddler和手机 (1)配置Fiddler允许监听https 打开Fiddler菜单项

fiddler抓取https请求(android/ios)

本文转载自:http://blog.csdn.net/songer_xing/article/details/53841401 备注:本人有这样的一个需求,先记录下,以后再进行整理. 在抓包过程中发现小米5MIUI7系统无法安装Fiddler的证书,百般尝试无果,最后换了一个测试手机,可以安装成功,实现了:Fiddler抓取安卓手机HTTPS请求!!! 在测试过程中,抓包是必不可少的测试分析手段,Fiddler不但能截获PC端数据包, 也可以截获移动端的.特别是你对某些api接口不是很理解或不知

QQ好友请求自动同意软件(管家协议登录)

QQ好友请求自动同意软件 软件功能:批量登录一批QQ小号,自动同意QQ小号中的好友添加请求![QQ加人方式修改器(免费哦)] 特别提醒:此款软件不适合处理请求非常非常多的QQ!少量请求还是得心应手的! 两款都是一样的,QQ登录协议不同罢了,推荐QQ管家协议登录,登录验证码不会有中文! 注意:新手不会用就算了,免费软件我们禁止咨询客服的!客服不解答免费软件的任何问题!客服繁忙请谅解!觉得不好就删除这款软件即可!如有BUG可以联系客服哦!警告:软件纯属是本人无聊制作!不喜欢或觉得没用的请勿下载即可!