Python接口测试学习笔记(二)

本文学习笔记整理自【Python开发】接口测试教程

一. Fiddler配置

工作原理:终端设备(web, app)发出请求, fiddler作为代理, 传给服务器; 服务器返回数据, fiddler拦截后, 再传给终端设备.

下载地址: https://www.telerik.com/fiddler

1. https请求需要导入证书:

  Chrome: Tools -> Options... -> HTPPS  ->  勾上所有的checkbox -> ok

  Firefox:   1. Tools -> Options... -> HTPPS  ->  勾上所有的checkbox -> ok

      2. Tools -> Options... -> HTPPS  -> Actions -> Export Root Certificate to Desktop -> 去Firefox的设置 -> 高级 -> 证书 - > 导入 -> restart firefox

2. Fiddler抓取APP的数据:

1. 安装手机模拟器, 安装app

2. a.App 和电脑在同一局域网(连同一个wifi)

    b. wifi设置代理:

1. 进入手机设置 -> WiFi - 修改网络(配置代理) - 手动

2. 手机上的服务器填入电脑的ip地址(cmd -> ipconfig - IPv4 Address)

3. 手机上的端口填入fiddler的端口(Tools -> Options... -> Connections -> Fiddler listens on port) (Allow remote computers to connect必须勾选)

   c. https证书安装:

1. 在浏览器地址栏输入http://电脑ip地址:fiddler端口(e.g.: http://192.168.xx.xx:8888)

2. 进入到Fiddler Echo Service页面, 点击最后一行下载证书

3. 下载完成后点击安装即可

3. 要是fiddler关闭了, 手机是不能正常上网的, 需要删掉wifi的代理设置

二. Fiddler介绍

把默认不显示Request Method的列显示出来: 在列名上右击 - > Customize columns... -> Collection 选 Miscellaneous -> Field Name 选 RequestMethod -> 点击Add

界面介绍: 左侧栏为会话框(一个请求就是一个会话), 双击左侧栏的某个请求后, 右边上半部分为request, 下半部分为response

Note:

1. 区分实际有效的GET请求:会话框第一列他图标为绿色的<>

2. 会话框最下方的黑色区域为命令行, 可以用cls情况会话

3. request出最边上有个Filter tab, 可以根据host或其他设置过滤请求

4. decode, 如果Accept-Encoding是gzip或其他类型, 返回的数据可能需要解码, 否则为乱码,

     a. 通过点击response的横条提示解码

     b. 会话框上方的快捷按钮的"Decode" 点成enable, response自动解码

三. Fiddler接口测试

界面右边一个Composer的tab, 点击Composer tab后出现的是发请求的界面

1. Composer页面介绍:

2. Composer发请求的方式:

1. 在Composer 界面输入对应是请求方式, 请求url和头部后执行execute, 即可发现会话框抓取到刚发出去的请求, 可双击查看response

2. 先访问网页, 将会话框抓取的请求拖拽到composer页面(需先点击composer tab)再点击execute后, 即可发现会话框抓取到刚发出去的请求, 可双击查看response

3. 什么情况下开展接口测试

1. 项目处于开发阶段, 前后端联调接口是否请求的通?(对数据库增删改查) -- 开发自测

2. 由接口需求文档, 开发已完成联调(可以转测) - 功能测试开始之前

3. 专项测试: 如测流量大小, 查看图片压缩大小(一般用于手机测试)

4. 版本上线前, 进行整体回归测试,, 查看接口是否有异常(如404). 对准备上线的版本进行抓包查看服务器地址是否正确

5. 版本功能稳定后, 接口自动化

4. 接口文档

5. 用例设计: 接口测试是无界面的功能测试,设计用例思路跟功能测试一样

1. 输入参数测试: 边界值等

2. 功能测试: 接口是否满足了所提供的功能

3. 异常场景: 如: 请求超时, 快速连续点击, 请求失败情况(任务型的, 失败后是否可以重新下发任务)

6. 专项测试: 流量分析

app测试会非常关注流量这块, 比如登录app账户是, 上传一个5M左右的图片作为头像, 看会不会压缩到100k以下(会话框每个请求后由一列body表面此请求传输大小)

7. 模拟弱网测试:

Fiddler - Rules - Customize Rules... - 在打开的文档中将 "m_SimulateModem" 段(line 181)的参数修改成需要的值:

原文地址:https://www.cnblogs.com/fayez/p/12182272.html