API 沙盒虚拟化客户培训
什么是沙盒虚拟化?
API 沙盒虚拟化是模拟实时沙盒实例行为的服务。我们的虚拟化服务提供一致的体验,您收到的响应经过预定义,不会总是根据您提供的特定输入值而变化。
举个例子:假设您通过相同的费率请求进行多次调用,并且每次测试都更改发件人和收件人地点。无论地址变更为何,API 都会返回相同的预定义费率回复。虽然相关值可能不匹配,但回复结构会模拟您实时接收到的回复。
该虚拟化服务不会影响活动后端系统组件,因此您的集成测试不会受到后端依赖关系的影响,同时您仍然可以获得相应的响应。
为何进行沙盒虚拟化?
然而,在诸如 FedEx 这样错综复杂且相互依赖的系统中,有时会出现依赖性资源无法使用且系统可用性受到影响的情况。当这些情况出现时,即使是远程事件,也可能会对您的 API 集成测试产生不利影响。实时事例中还有其他约束条件,这些约束也会限制集成测试的范围。示例如下。
- 托运账号不需要某些特定场景测试的访问权限。
- 测试数据可用性有限。
- 系统停机时间已计划或未计划。
可如何使用虚拟化沙盒实例?
- 熟悉 API 文档、端点和身份验证方法。这将有助于设计有效的测试。
- 下载并熟悉 API 文档中提供的 JSON API Collection。
- 挑选并测试适合您的使用场景的事务示例。为保证一致的体验,避免更改请求负载结构,以便接收虚拟化响应。
- 请注意,并非所有输入值都会影响响应。您应重点了解应用程序如何处理一致的响应。
- 根据文档测试所有 API 的行为是否正确,包括正面和负面测试用例。
- 使用所提供的负面测试用例,了解如何返回错误消息和状态代码。这有助于确定您的应用程序如何管理错误。参考 JSON API Collection 以及附有“负面”前缀的测试用例。
虚拟化的优势
- 资源不可用的几率更低。
- 测试数据依赖性更低。
- 与实时沙盒实例相比,响应更快。
- 无需明确的账号级别访问权限即可使用全方位服务。
- 提供无缝的集成体验,简化测试和认证过程。
常见问题解答
- 如何获取请求负载,才能达到虚拟化响应?
每个 API 文档都提供了 JSON API Collection。访问 API 目录并打开 API 文档。查看 API 文档中的“JSON API Collection”部分。此 JSON API Collection 保存了所有请求负载,可检索虚拟化响应。 - 我是否需要获取指令才能访问虚拟化沙盒实例?
是的,指令的生成和授权按原样进行,您应该为与虚拟化沙盒服务交付的每个事务传递指令。 - 我如何知道响应是否从虚拟化服务返回?
虚拟化响应会在负载中添加以下警报。
- 在费率和托运时间 API 中,请求负载中的地址为何未经过验证?
地址验证不属于推导虚拟化费率响应的逻辑中的一部分。仅对国家/地区进行验证,以便在其余地址字段中传递任何值。 - 是否所有 API 都经过虚拟化?
迄今为止,仅下列 API 经过虚拟化。虚拟化其余 API 功能的工作正在进行中。
费率和托运时间 API | 已虚拟化 |
追踪API | 已虚拟化 |
零担货运 API – 费率和取件功能 | 已虚拟化 |
地址验证API | 已虚拟化 |
邮政编码验证API | 已虚拟化 |
取件请求API | 已虚拟化 |
服务可用性API | 已虚拟化 |
全球贸易API | 已虚拟化 |
Ground当天结束时间关闭API | 已虚拟化 |
Open Ship API | 已虚拟化 |
托运API | 已虚拟化 |
FedEx 服务站搜索 API | 已虚拟化 |