渭南企业网站建设,昆山建设局网站,石家庄专业网站设计,移动端手机网站模板下载在客户端接口的测试中#xff0c;我们经常会需要模拟各种返回状态或者特定的返回值#xff0c;常见的是用Fiddler模拟各种请求返回值场景#xff0c;如重定向AutoResponder、请求拦截修改再下发等等。小编在近期的测试中遇到的一些特殊的请求返回模拟的测试场景#xff0c;…在客户端接口的测试中我们经常会需要模拟各种返回状态或者特定的返回值常见的是用Fiddler模拟各种请求返回值场景如重定向AutoResponder、请求拦截修改再下发等等。小编在近期的测试中遇到的一些特殊的请求返回模拟的测试场景借此机会总结分享给大家抛砖引玉。
特定返回状态码的模拟
近期的项目中在测试客户端对原网站的异常返回的错误提示处理时需要模拟网站的不同返回状态。使用Fiddler的小伙伴们会知道我们可以使用Fiddler的重定向功能AutoResponder来快速模拟但是AutoResponder中只有几种常用的返回状态码的模拟所以需要尝试在Fiddler中添加其他返回状态码。
在Fiddler中添加不同返回状态的简便方法如下
STEP-1:进入Fiddler安装路径查看ResponseTemplates文件夹中的响应样例 STEP-2: 参照Templates中的样例拷贝和添加新的返回状态码以添加504状态码为例 STEP-3: 重新启动Fiddler查看AutoResponder中是否有新增的状态码返回 STEP-4: 以m.sogou.com为例查看是否返回目标的状态码 特定字段数据的模拟
小编最近在测试某接口容错时遇到了这样一个问题如何在超时判断时间内保证Response中字段值1与实际匹配的前提下模拟字段2的各种返回值场景。
具体场景如下客户端对于请求接口返回数据各个字段的处理方式时先对字段1进行时间戳校验该字段为客户端在每次请求发送前生成并通过请求发送给服务端若校验成功后才会处理Response中的字段2测试的目的是对字段2进行容错需保证排除字段1的干扰也就是说在请求返回模拟时需要保证模拟的Response中的字段1与Request中一致小Tip客户端请求超时限制约为5s且与开发沟通后不方便修改。如何在模拟的Response中字段1一致的前提下修改字段2的值呢
修改“Customize Rules
修改Fiddler中的“Customize Rules可以模拟特定域名的请求返回的Json数据中的特定字段。
具体添加内容如下
// 判断是否为目标请求
var isVoiceRequest false;
if ((oSession.host xx.xx.xx.xx) // host
oSession.fullUrl.Contains(xx/xxi/xx)) // url
{
isVoiceRequest true;
}
// 修改返回JSON串
if (isVoiceRequest)
{
// 1, 获取Response Body中JSON字符串
var responseStringOriginal oSession.GetResponseBodyAsString();
//FiddlerObject.log(responseStringOriginal); // 可在控制台中输出Log
// 2, 转换为可编辑的JSONObject变量
var responseJSON Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
// 3, 修改JSONObject变量
// 3.1修改字段
responseJSON.JSONObject[data][voice] testtesttest;
// 3.2添加字段
// 4, 重新设置Response Body
var responseStringDestinal Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
//FiddlerObject.log(responseStringDestinal);
oSession.utilSetResponseBody(responseStringDestinal);
}
通过该种方式可以模拟修改特定域名请求Response中Json数据的特定字段值。
特定加密返回值的模拟
测试中会遇到请求返回密文的情况常见的有URLencode、Base64编码等这种情况下就需要先进行解密处理。
Fiddler的TextWizard
Fiddler自带的TextWizard可以对常见的多种密文进行解密还可以反向编码例如本次场景可以对解密的原文进行修改后改成异常内容情况再进行加密从而得到待模拟的特定返回内容。这样可以不用再查找借助第三方的编码工具。 结束语
以上为小编在测试过程中发现的比较好的Fiddler模拟请求Response小方法在此分享共勉。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试小程序
被百万人刷爆的软件测试题库谁用谁知道全网最全面试刷题小程序手机就可以刷题地铁上公交上卷起来
涵盖以下这些面试题板块 1、软件测试基础理论 2、web,app接口功能测试 3、网络 4、数据库 5、linux 6、web,app接口自动化 7、性能测试 8、编程基础9、hr面试题 10、开放性测试题11、安全测试12、计算机基础 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你