Charles抓包工具测试实战

课程目标

(1)能够用Charles来分析前后端的问题

(2)能够用Charles模拟弱网测试环境(能够模拟各种网络环境)

(3)能够使用Charles的断点构建异常的测试场景(针对一些特殊的场景测试需要修改请求的参数或者返回的结果数据,使用Charles的断点来构造特殊的场景测试)

课程介绍

1.Charles简介

2.Charles安装与配置

3.Charles实战

一:Charles简介

1.Charles是什么

基于HTTP协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。

特点:跨平台(windows、linux、ios操作系统)、半免费

2.Charles工作原理

正在上传…重新上传取消

运行Charles的电脑

前置步骤:

1.需要(在电脑上)运行Charles并配置代理——>完成后才能成为“代理服务器”

2.在客户端上面需要配置代理(代理服务器和客户端的代理端口、IP地址要相同)

原理的实现步骤:(!!!!!)

1.由客户端发送请求

2.Charles接收再发送给服务器

3.服务器(处理完成后)返回请求结果给Charles

4.由Charles转发给客户端

3.Charles能做什么(!!!!!!)

主要功能:

1.支持HTTP和HTTPS代理 (清楚HTTP和HTTPS的区别!!!!!!!)

2.支持流量控制(弱网环境的测试)

3.支持接口并发请求(简单的性能测试或压力测试,可以执行多个请求)

4.支持重发网络请求(接口测试)

5.支持断点调试功能(在发送或者接收请求的过程中,可以利用断点修改请求数据等,因此可以使我们在测试的过程中构建异常的测试场景)

4.Charles的优点(相对于Fiddler)

1.Charles能够支持linux、MacOs

2.Charles支持按域口和按接口查看报文,简洁明了

3.支持反向代理

4.Charles网络限速可选择网络类型(3G\4G\10M)Fildder需要手动调节

5.可以解析AMF协议(Fidder不支持此协议)

5.Charles的介绍总结

1.概念原理

代理服务器

跨平台

半免费

工作原理

2.主要功能

支持代理(HTTP、HTTPS)

流量控制(弱网环境测试)

请求重发

断点调试

3.优点

支持多系统

页面简洁

反向代理

网络类型可选择

二:Charles安装与配置

1.Charles安装

官网安装

2.Charles组件介绍

1:

正在上传…重新上传取消

2:

正在上传…重新上传取消

红色开启断点 检验返回的请求(校验返回的html是否符合WWW格式标准) 工具设置(接口测试)

3:

正在上传…重新上传取消

4:

正在上传…重新上传取消

overview:接口的相关信息(协议、状态码、请求的时间等)

3.Charles代理设置

正在上传…重新上传取消

4.Charles访问控制

正在上传…重新上传取消

在输入框输入的“IP地址”,对应的“IP地址”默认情况下可以直接通过Charles访问网络和服务器,而且Charles可以直接抓取客户端的相关报文。

不在列表里的“IP地址”通过Charles来访问网络,需要手动确认是否可以访问(勾选的情况下),如果不勾选默认不可以通过Charles访问!!!!)

结束,此时访问配置及配置完成!

5.客户端-Windows代理设置

正在上传…重新上传取消

正在上传…重新上传取消

客户端与Charles代理不是同一台电脑需要手动设置,如果是同一台电脑则系统会自动设置代理。

6.客户端-IOS手机代理设置

正在上传…重新上传取消

客户端与Charl

7.客户端-Android手机代理设置

正在上传…重新上传取消

8.Charles安装配置总结

正在上传…重新上传取消

把代理的“IP地址”改成运行Charles电脑对应的IP地址、代理端口

三:Charles实战

正在上传…重新上传取消

1.Charles抓包分析问题(实例——步骤!!!)

(1)当客户端请求服务端的时候,获取到请求的http包,可能会出现问题?这两个问题可能是前端的问题也有可能是后端的问题!!

出现问题后需要分析是前端还是后的的问题

例子:

正在上传…重新上传取消

正在上传…重新上传取消

(2)实施步骤!!!!!

正在上传…重新上传取消

客户端操作:

正在上传…重新上传取消

这是后台响应回来的错误信息,说明是后台的原因;但是后台只响应了一条信息,而前端页面却显示两条错误信息,说明前端页面处理异常的时候逻辑有问题;所以说前后端都有问题!!

1."系统繁忙"问题是由后台返回的,因此问题出现在后端!!

2.网页显示两次提示信息,但响应只响应了一次,这个响应两次是前端的问题!!!

正在上传…重新上传取消

2.https抓包(安装SSL证书)

在Web系统中可以通过http或https的协议来进行数据的交互

HTTPS是在HTTP的基础上,对HTTP的报文加了密。

使用charles抓取Https请求报文的时候,报文会出现乱码,解决办法是需要安装SSL证书

正在上传…重新上传取消

需要在不同的客户端上安装SSL证书

1.Windows证书安装

对客户端(Windows)安装证书!!!

正在上传…重新上传取消

2.Charles Https代理配置(出现乱码)

正在上传…重新上传取消

配置好之后就不会出现乱码了

正在上传…重新上传取消

3.IOS证书配置

正在上传…重新上传取消

正在上传…重新上传取消

3.Charles流量配置

可以用来模拟不同的网络环境,可以用来做弱网测试。

正在上传…重新上传取消

正在上传…重新上传取消

Bandwidth(宽带)

Reliability(配置可靠性)丢包

Stability(稳定性,比如网络隔几秒种会断掉,用来模拟这种情况)断网

1.弱网测试实例

正在上传…重新上传取消

流量配置之前:

正在上传…重新上传取消

流量配置之后:

正在上传…重新上传取消

正在上传…重新上传取消

结果分析:

正在上传…重新上传取消

4.Charles断点配置

用来构造一些异常的测试场景

正在上传…重新上传取消

第三步:此时Charles未发送请求给服务器

正在上传…重新上传取消

1.断点调试实例

正在上传…重新上传取消

场景一:测试针对一些异常的测试参数(正常情况下,在前端设置角色名称时不可以为空,前端会有一些限制!这个时候就可以使用断点调试功能,把这个请求发送到Charles里,在Charles里面修改角色名称,把参数设为空,看后台的处理情况。)

场景二:测试针对后台返回的一些异常的数据,前端在处理异常数据的时候是什么情况

正在上传…重新上传取消

第一步:开启断点调试

正在上传…重新上传取消

第二步:

正在上传…重新上传取消

第三步:

正在上传…重新上传取消

返回给页面空字符串

正在上传…重新上传取消

第四步:

正在上传…重新上传取消

5.Charles抓包实战总结

正在上传…重新上传取消

课程总结

正在上传…重新上传取消

你可能感兴趣的:(测试工具,测试工具)