关闭

Charles Mock测试总结

发表于:2017-3-22 11:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:萧竹    来源:51Testing软件测试网采编

  3.1.1 调试不同url的网络请求
  为了调试服务器的接口,我们需要反复尝试不同参数的网络请求。Charles 可以方便地提供网络请求的修改和重发功能。只需要在以往的网络请求上点击右键,选择 “Edit”,即可创建一个可编辑的网络请求。如下所示:
  我们可以修改该请求的任何信息,包括 URL 地址、端口、参数等,之后点击 “Execute” 即可发送该修改后的网络请求(如下图所示)。
  
edit网络请求
  Charles 支持我们多次修改和发送该请求,这对于我们和服务器端调试接口非常方便
  3.1.2 覆盖服务器接口返回的不同异常情况
  举个例子:有一个订单状态接口 order_state,有已过期、已失效、已支付、待支付、已取消、待审核等10个状态返回,如果是在没有mock的情况下,我们需要实际造10个状态的订单数据,甚至去修改数据库订单字段状态来看前端订单显示情况。利用Mock方法,我们可以借助一些工具例如charles打断点,截取接口返回的response的json数据,进行一些模拟:比如
  订单接口发生服务器错误 or 系统繁忙时app是否崩溃;
  订单接口的各种状态在前端显示的覆盖测试;
  订单状态空的时候前端如何显示的覆盖测试;
  订单数据异常的时候前端如何显示的覆盖测试,
  订单接口请求超时的情况等等等总之想要什么返回就模拟什么返回。
  3.2 简单的小例子:xx app 登录login Mock测试
  3.2.1 安装测试包
  打开手机,连接电脑安装开户组件app 成功,点击app启动成功,登录成功,moudle名称输入模块名称(xxBanklogin进入xx app 登录流程,利用charles抓包,如下截图
  
登录
  3.2.2 登录测试Mock最基本实践
  breakpoints方法实践过程:
  在charless上要mock数据的url上右点击,弹出的列表选中breakpoint,要点击两次 Excute 才能完成一次 HTTP 请求,原因是,Charles 的断点功能分别提供了修改 HTTP Request 和 Response 的机会映射本地文件
  先了解登录接口定义:
  login接口一般有登录超时、操作超时、登录被挤下线、登录系统繁忙、账户和密码错误、账户锁定、账户解密失败等情况
  每个接口对应的response请求json记录(可编辑修改):
  一般有两种处理方式可选择:
  一是直接在charels设置好断点,请求相应的接口时修改编辑response里面json格式的相关数据后点击excute执行模拟请求提交
  二是将所有接口的json数据在一个Sublime text 中以json格式保存,进行数据管理,最后利用 charles Map 规则的导入导出功能,方法是点击菜单 Tools → Map Local,在弹出界面中点击 Export
  登录login接口返回json记录如下:
  1、登录成功
  {
  "code": "000000",
  "data": {
  由于涉及到业务信息,部分data信息隐藏
  "status": "0"
  },
  "msg": "成功"
  }
  2、操作超时
  {
  "code": "030801",
  "msg": "操作超时"
  }
  3、登录报系统繁忙
  {
  "code": "000001",
  "msg": "系统繁忙,请稍后再试!"
  }
  4、登录超时
  {
  "code": "000002",
  "msg": "登录超时!"
  }
  5、登录掉线
  {
  "code": "000004",
  "msg": "账户在另一台设备已登录,当前登录被挤下线!"
  }
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号