软件测试 | 测试开发 | 使用charles 修改服务器返回数据

2023-05-16

使用charles

修改服务器返回数据

相信大家在做测试时,一定有现有的返回结果不能覆盖到自己需要测试的全部场景的情况,为了方便我们测试一些特殊情况,我们就需要让服务器返回一些指定的内容以实现我们的测试case覆盖的更全面。这个时候,使用 Charles 相关的功能就可以满足我们的需求。下面给大家介绍一下使用charles来修改服务器返回报文的两种方法:

1、 Map功能,适合长期的将某一请求重定向到另一个网络地址或者本地文件

2、 Breakpoints功能,适合做一些临时性的修改。

Map功能

Charles的map功能分为Map Remote 和Map Local,下面简单介绍一下:

在 Charles 的菜单中,选择 “Tools”->”Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。

或者直接选中请求,右键,也可进入到相应功能的设置页面。

对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空,下图是一个示例,我将所有www.test1.com的请求重定向到了www.test2.com。

对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。首先将网络请求结果保存,使用 Charles 提供的 “Save Response…” 功能将请求结果保存到本地(如下图所示),然后根据测试需要,修改我们想要返回的数据,成为我们的目标映射文件。

示例如下:

将一个指定的网络请求通过 Map Local 功能映射到了本地的一个经过修改的文件中。

Breakpoint功能

Breakpoint功能可以截断修改客户端的request、response请求,如在charles返回response请求时,我们可以修改response,从而修改返回给客户端的内容。

如这里,我们要修改返回给客户端的广告类型为H5类型的广告,

1、 客户端先访问相应的页面,可以看到charles抓取了一大堆数据,Filter下过滤我们需要的请求,

2、 在上面的请求中选择右键,勾选Breakpoints。后面再次访问此请求时,charles会分别在这个请求的request、response停留,除非我们excute继续。

设置Breakpoint,也可以通过点击Proxy—>Breakpoint Settings来设置。

点击add选择request或者response,或者同时选择。

3、 再次访问互动页面,可以修改request请求,在此不做修改,点击Execute

修改response,点击Edit Response,根据需求修改为相应的返回值。点击Execute

最终返回的广告为H5类型的广告。

使用charles修改返回数据就介绍完了,当然使用charles修改返回数据不止上面两种方式,以上两种方式只是本人在近期项目中使用到的,网上还有其他方式,感兴趣的同学可以网上查看,charles还有其他实用并且有意思的功能,大家也可以一并查看并分享,共同进步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试 | 测试开发 | 使用charles 修改服务器返回数据 的相关文章

  • 【软件测试】学习笔记-高效提交Bug

    本篇文章介绍如何才能写出一份高效的软件缺陷报告 测试工程师需要利用对需求的理解 高效的执行力以及严密的逻辑推理能力 迅速找出软件中的潜在缺陷 并以缺陷报告的形式递交给开发团队 缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁 也是测试工程
  • 软件测试|Python Selenium 库安装使用指南

    简介 Selenium 是一个用于自动化浏览器操作的强大工具 它可以模拟用户在浏览器中的行为 例如点击 填写表单 导航等 在本指南中 我们将详细介绍如何安装和使用 Python 的 Selenium 库 安装 Selenium 库 使用以下
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 测试工程师能否作为一份「终身职业」?30岁+怎么办?

    讨论 测试工程师可否作为一份终生的职业 这是我在论坛看到的一个讨论 你的答案是什么呢 我希望大家能认真思考后给出一个属于自己的答案 无论你是新手入门 还是资深专家 回答这个问题请不要凭一腔热血 也不用过分消极 别总和钱挂钩 平心而论即可 就
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 软件测试|Pydantic详细介绍与基础入门

    简介 Pydantic 是一个强大的 Python 库 用于数据验证和解析 特别是用于处理 JSON 数据 它的主要目标是使数据验证和解析变得简单 直观和可维护 本文将介绍 Pydantic 的基础知识 包括如何定义模型 验证数据以及处理错
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯式性能指标监听

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自

随机推荐

  • JavaScript中关于“this”的7个有趣面试题,你能全答对吗?

    相关推荐 xff1a 2021年大前端面试题汇总 xff08 收藏 xff09 在 JavaScript 中 xff0c this 是函数调用上下文 正是由于 this 的行为很复杂 xff0c 所以在 JavaScript 面试中 xff
  • 分享几种实用的Node.js调试方法,快来收藏吧!!

    本篇文章给大家介绍Nodejs调试的几种方式 有一定的参考价值 xff0c 有需要的朋友可以参考一下 xff0c 希望对大家有所帮助 相关推荐 xff1a nodejs 教程 第一种 1 打开 vscode 内置终端 xff0c 右上角选择
  • 聊聊在VSCode中怎么点击DOM 自动定位到相应代码行?

    如何在 Vue 项目中 xff0c 通过点击 DOM 自动定位VSCode中的代码行 xff1f 下面本篇文章就来给大家分享一个插件 xff0c 并聊聊实现原理 xff0c 快来收藏吧 xff01 现在大型的 Vue项目基本上都是多人协作开
  • 一文深入了解 Node 中的事件循环

    Node js是单线程的语言 xff0c 是通过事件循环处理非阻塞I O操作的 下面本篇文章带大家详细了解 Node 中的事件循环 xff0c 希望对大家有所帮助 xff01 Node js 做为 JavaScript 的服务端运行时 xf
  • 深入解析vue中的key,看看key到底能拿来干嘛!

    key到底有什么用途 xff1f 下面本篇文章给大家深度解析一下vue中的key xff0c 看看key到底能拿来干嘛 xff0c 希望对大家有所帮助 xff01 vue中关于key的深度解析 key到底有什么用途 先来看官方解释 key属
  • 一文聊聊Node.js中的模块路径解析

    本篇文章带大家了解一下Node js中的模块路径解析 xff0c 介绍一下Node模块路径解析方法 xff0c 希望对大家有所帮助 xff01 require案例 当前有一个项目当前项目路径 Users rainbow Documents
  • 聊聊node中怎么借助第三方开源库实现网站爬取功能

    本篇文章给大家介绍一下node中借助第三方开源库轻松实现网站爬取功能的方法 xff0c 希望对大家有所帮助 xff01 nodejs实现网站爬取功能 第三方库介绍 request 对网络请求的封装 cheerio node 版本的 jQue
  • Angular中非父子组件间怎么通讯

    Angular中非父子组件间怎么通讯 xff1f 本篇文章给大家介绍一下Angular非父子组件之间通过服务通讯的方法 xff0c 希望对大家有所帮助 xff01 其实提到父子组件之间传值 xff0c 对我们来说 xff0c 再熟悉不过了
  • 软件测试 | 测试开发 | Django+Celery框架自动化定时任务开发

    本章介绍使用DjCelery即Django 43 Celery框架开发定时任务功能 xff0c 在Autotestplat平台上实现单一接口自动化测试脚本 业务场景接口自动化测试脚本 App自动化测试脚本 Web自动化测试脚本等任务的定时执
  • 认识一下vue中的$attrs和$listeners属性,聊聊用法

    本篇文章带大家了解一下vue中封装组件利器 xff1a attrs listeners属性 xff0c 看看它们的用法 xff0c 希望对大家有所帮助 xff01 多级组件嵌套需要传递数据时 xff0c 通常使用的方法是通过vuex 但仅仅
  • 深入了解node.js中的module-alias(分享一些避坑方法)

    本篇文章带大家了解一下node js中的module alias xff0c 介绍一下module alias原理 module alias的一个常见问题 xff08 坑 xff09 xff0c 希望对大家有所帮助 xff01 首先有必要介
  • 聊聊Nodejs中的核心模块:stream流模块(看看如何使用)

    本篇文章带大家详细理解一下Nodejs中的stream流模块 xff0c 介绍一下stream流概念及用法 xff0c 希望对大家有所帮助 xff01 stream流模块 xff0c 是Node中非常核心的一个模块 xff0c 其它模块如f
  • 深入解析下vue3中的渲染系统

    本篇文章给大家深入解析一下vue3中的渲染系统 xff0c 希望对大家有所帮助 xff01 提到马拉松 xff0c 大家都知道马拉松是世界上最长的田径项目 xff08 全程42 195公里 xff09 xff0c 是所有体育运动中体力消耗最
  • 一文聊聊Node.js中的EventEmitter模块

    EventEmitter是 Node js 的内置模块 xff0c 为我们提供了事件订阅机制 下面本篇文章就来带大家了解一下Node js中的EventEmitter模块 xff0c 介绍一下它的用法 xff0c 希望对大家有所帮助 xff
  • 一起聊聊angular的样式隔离实现机制

    Angular是怎么进行样式隔离的 xff1f 下面本篇文章就来和大家一起聊聊angular的样式隔离实现机制 xff0c 希望对大家有所帮助 xff01 angular 以组件为基本单位 我们编写一个一个的组件 xff0c 再将这些组件组
  • 聊聊Node.js中如何实现Stream流(可读、可写、双工和转换流)

    本篇文章带大家了解一下Node中的之Stream xff0c 介绍一下引入 Stream xff0c 实现可读流 可写流 双工流和转换流的方法 xff0c 希望对大家有所帮助 xff01 引入 Stream 假设我们有这么一个需求 xff0
  • 带你详解vue中实现全页面或局部刷新的方法

    vue中怎么实现页面刷新 xff1f 下面本篇文章给大家介绍一下在vue中实现全页面刷新和局部刷新的方法 xff0c 希望对大家有所帮助 xff01 一 全页面刷新 1 修改 App vue xff0c 代码如下 xff1a lt temp
  • 深入浅析Angular指令如何保持关注点的分离?

    Angular指令如何保持关注点的分离 xff1f 本篇文章带大家了解一下通过 Angular 指令保持关注点分离的方法 xff0c 希望对大家有所帮助 xff01 假设在我们的应用程序中有一个日期选择器组件 用户每次更改日期的时 xff0
  • VSCode开发Python,这 14 个插件不可错过!

    VSCode怎么开发Python xff1f 下面本篇文章给大家整理分享VSCode中开发Python的14 个不可错过插件 xff0c 快来收藏 xff0c 看看有没有需要 xff01 可以说 xff0c Visual Studio Co
  • 软件测试 | 测试开发 | 使用charles 修改服务器返回数据

    使用charles 修改服务器返回数据 相信大家在做测试时 xff0c 一定有现有的返回结果不能覆盖到自己需要测试的全部场景的情况 xff0c 为了方便我们测试一些特殊情况 xff0c 我们就需要让服务器返回一些指定的内容以实现我们的测试c