我们都知道使用Postman做接口测试,相比Postman,Fiddler不能写断言,只能构造HTTP请求,并人工确认返回结果的正确性。但作为一个HTTP代理,Fiddler可以抓取到浏览器发出去的HTTP请求,然后通过修改请求重新发送的方式,快捷地进行接口测试。


在HTTP接口的测试过程中,一般我们会按照如下的步骤进行:

1)测试环境的准备

2)HTTP消息体的构造

3)HTTP消息的发送及断言

如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作的,那我们的接口测试会非常顺利,可以不使用Fiddler工具。

但是,实际情况中,不断的测试前移,需要我们的接口自动化测试用例在编码工作还未完成的情况下,就能准备完成。代码开发完成之后,直接运行自动化用例。

这种情况下,Fiddler工具就能大显身手了。

Fiddler工具常见的使用场景:

1)在没有接口文档的情况,使用Fiddler抓包,获得HTTP后台接口;

2)在没有HTTP后台服务的情况下,使用Fiddler模拟服务端。

使用Fiddler做接口测试:

一、Composer介绍

Fiddler Composer的功能就是用来创建HTTP Request 然后发送。 Fiddler创建request有三种方式:

1、自定义一个Request

2、可以手写一个Request

3、在Web会话列表中拖拽一个已有的Request

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了


1.请求方式:点开可以勾选请求协议是get、post等

2.url地址栏:输入请求的url地址

3.请求头:第三块区域可以输入请求头信息

4.请求body:post请求在此区域输入body信息

5.执行:Execute按钮点击后就可以执行请求了

6.http版本:可以勾选http版本

7.请求历史:执行完成后会在右侧History区域生成历史记录

二、请求百度首页


1.先选择请求方式:get

2.填入请求地址:http://www.baidu.com/

3.http协议版本:默认1.1

4.Request Body:get请求不用填写body,此区域此时会置灰

5.点击execute按钮:执行请求

6.History区域显示请求过的历史记录

7.查看请求结果,左边会话框会显示请求行,如下图:


8.查看response区域,点Textview

9.显示服务器返回结果:百度一下,你就知道

三、在百度输入框输入'测试'后搜索


1.在输入框输入请求url

2.请求地址:/s

3.请求参数如上图红色区域(?后面)

4.查看请求结果,如下图


5.上方区域显示请求参数(wd=测试)

6.response区域点Webview

7.返回结果会显示百度搜索“测试”的结果

四、模拟手机APP登陆

1.打开智行火车票的登陆界面,如下图


2.通过抓包找到登陆请求url

3.请求类型选择:POST

4.输入登陆的url地址

5.RequestBody区域填入请求body,如下图红色框框区域


6.点执行后,左边会话框,直接报:405错误

(405:用来访问本页面的方法不被允许)

7.经过分析可能是请求headers的问题

(fiddler工具在发送请求时,会默认自带出一个headers,但是此APP估计只支持手机端访问,做了限制,所以需要手动创建一个手机端请求的headers,由此可见headers的重要性了吧~)

8.添加手机请求的headers(模拟从手机客户端请求)


9.添加headers后重新execute

10.会话框显示200请求成功

11.查看请求结果response:JSON


12.此时服务器返回的是json格式,如上图(欢迎使用铁路12306)

五、手写一个Request

点开Raw区域,按如下格式填写就行了


六、在Web会话列表中拖拽一个已有的Request


总结:

经验丰富的测试人员,在测试的时候,都是会开启fiddler的,就是说我所有的操作,在fiddler上都有记录,这样做的主要目的就是对我的所有操作在fiddler上有记录,当发生错误的时候,可以随时查看是什么原因引起的错误,更重要的是开发老是叫你重现bug的时候,你就直接将这个请求丢给开发就OK了,减少了很多不必要的沟通,防止甩锅;

composer模块本身就可以进行接口测试,如果有接口技术文档,直接将内容填入此模块,点击执行就可以了,很方便,fiddler功能很强大,是测试人员必备工具的不二选择。

学习没有捷径,从小处着手,落到实处!才是真正的成功之路!

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660