我正在尝试使用Charles代理工具来模拟JSON响应并测试Android应用程序。我能够提供断点并修改响应,但无法在以后的时间点重新运行保存的响应。
我的要求保存在charles代理中显示的响应,并从jUnit测试用例中调用/解析它。这可能吗?
答案 0 :(得分:2)
重新运行已保存的响应的步骤:
1)右键单击并在任何系统文件夹中保存响应。
2)右键单击要用保存数据点击的服务。
3)向下滚动,您将看到Map远程选项和地图本地
4)选择Map Local,出现编辑映射对话框。
5)选择您保存的本地文件。完成
现在每次点击相同时,都会调用本地保存的响应。测试完成后,请右键单击并选择map local to将其删除。
答案 1 :(得分:1)
在Charles Proxy中,有3种不同的方式来修改响应主体:
1)这是我最喜欢的-使用工具->重写。 在这里,您可以根据需要设置一组网络呼叫规则。为此,请在“位置”部分下选择一个或多个URL(或其中的一部分)。 在“规则”下,添加新规则,然后在“值”部分的类型和所需的URL响应中选择“ URL”。您可以选择一个包含所需响应的URL,也可以创建一个模拟响应(使用“ mocky.io”之类的工具)。
2)您可以使用“远程地图”进行相同的操作-使用包含所需响应的URL选择要修改的网络。
3)如果您想频繁修改响应正文,则“ Map Local”是个好方法-选择要使用本地文件(在您的情况下为.json文件)进行修改的网络。您可以在请求之间进行修改并保存。
我更喜欢“重写”选项,因为: (1)它可以包含多个URL,以使用多个“所需” URL进行修改,而您只需要根据当前需求进行激活/停用即可。 (2)在某些Charles版本中,“ Map Remote”存在一些错误,在这些错误中,您导入了外部规则并且以前的规则被完全覆盖。 (3)在“重写”上,您可以修改许多有关调用的内容,例如,修改响应正文中的子字符串(通过选择“正文”作为规则类型),添加/修改/删除查询参数或修改响应状态代码。