日照网站建设:Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML花样)

admin/2020-04-11/ 分类:科技/阅读:

靠山

  继之前鼓捣出了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代码,是不是快了不少呢

,

sunbet

Sunbet www.114co.cn立足亚洲,展望国际,在即将到来的2019年,努力在技术、安全、服务上尽善尽美,致力提高业务品质,期望与业界精英共同开拓未来。

TAG:
阅读:
广告 330*360
广告 330*360

热门文章

HOT NEWS
  • 周榜
  • 月榜
Sunbet_进入申博sunbet官网
微信二维码扫一扫
关注微信公众号
新闻自媒体 Copyright © 2002-2019 Sunbet 版权所有
二维码
意见反馈 二维码