Tag: Chales代理

iOS开发人员的Charles技巧和窍门:模拟

注意:本文中的几乎所有内容均可用于iOS,Android,Web或您正在使用的任何技术的任何平台。 在第一篇文章《查尔斯:iOS开发人员的技巧和窍门》(第1卷)中,我就如何配置和开始使用查尔斯做了一个友好的分步指南。 正如我在那篇文章中提到的,查尔斯打开了另一个世界的大门,从可视化简单请求到即时模拟数据以伪造不存在的端点。 在本文中,我将向您展示如何使用Charles来模拟来自现有或不存在的端点的数据。 改写 让我们从一个简单的技巧开始。 我想在其中更改“ 浏览”部分 Meetups应用程序,并使用Charles更改我的位置以查看外观。 例如,我将更改端点中的某些参数以伪造我在日本的位置。 对于“ 探索 ”部分,他们使用端点调用api.meetup.com/self/home,我们可以添加一些与位置有关的参数,我们将更改纬度和经度,并指定要探索的城市。 Charles使我们能够使用位于工具>重写中的重写工具来处理HTTP事务中的任何数据。 该工具使我们能够在执行请求之前更改请求的不同部分,甚至操纵响应。 确保检查“ 启用重写”指示器。 对于此示例,我们要操纵纬度和经度参数,因此我们需要添加一个新的重写项。 我们将其称为: Meetup家庭位置模拟。 该位置是指您要模拟的URL。 因为我们想为多个位置创建一个可重用的Mock,所以我们指定https://api.meetup.com/self/home 作为我们的网址。 如果仅将完整的URL粘贴到主机文件中,则速度会更快,Charles会自动解析URL并为您填充其他字段。 让我们继续添加一些重写位置参数的规则。 添加新规则,然后在“ 类型”下拉列表中选择您要更改的内容。 对于此示例,请使用Modify Query Param 。 由于我们只想操纵请求 ,因此在“位置”部分中选择“ 请求 ”。 在“ 匹配”部分中,指定要查找的参数,并在“ 替换”部分中指定要更改的值。 考虑到139.77和35.67是东京的经度和纬度,因此规则如下所示。 在测试之前,请确保您按“ 应用”。 这是我们的重写。 我建议您花时间弄乱更多的位置或不同的url参数,以了解应用程序如何处理不同的响应。 操纵响应体 正如您在“ 重写规则”窗口中看到的那样,我们有很多选项可以处理数据。 通常,在我的工作中,我需要测试一些仅针对特定用户或服务器通常不返回的数据显示的行为,例如某些状态或错误消息。 因此,让我们使用Charles嘲笑全新的Category来操纵Meetup App的Category部分。 我注意到, home端点以符合以下结构的类别列表作为响应: { “ id”:242, “简称”:“户外探险”, […]