API 沙盒虚拟化客户培训

什么是沙盒虚拟化?

API 沙盒虚拟化是模拟实时沙盒实例行为的服务。我们的虚拟化服务提供一致的体验,您收到的响应经过预定义,不会总是根据您提供的特定输入值而变化。

举个例子:假设您通过相同的费率请求进行多次调用,并且每次测试都更改发件人和收件人地点。无论地址变更为何,API 都会返回相同的预定义费率回复。虽然相关值可能不匹配,但回复结构会模拟您实时接收到的回复。

该虚拟化服务不会影响活动后端系统组件,因此您的集成测试不会受到后端依赖关系的影响,同时您仍然可以获得相应的响应。

为何进行沙盒虚拟化?

然而,在诸如 FedEx 这样错综复杂且相互依赖的系统中,有时会出现依赖性资源无法使用且系统可用性受到影响的情况。当这些情况出现时,即使是远程事件,也可能会对您的 API 集成测试产生不利影响。实时事例中还有其他约束条件,这些约束也会限制集成测试的范围。示例如下。

  • 托运账号不需要某些特定场景测试的访问权限。
  • 测试数据可用性有限。
  • 系统停机时间已计划或未计划。

可如何使用虚拟化沙盒实例?

  • 熟悉 API 文档、端点和身份验证方法。这将有助于设计有效的测试。
  • 下载并熟悉 API 文档中提供的 JSON API Collection。
  • 挑选并测试适合您的使用场景的事务示例。为保证一致的体验,避免更改请求负载结构,以便接收虚拟化响应。
  • 请注意,并非所有输入值都会影响响应。您应重点了解应用程序如何处理一致的响应。
  • 根据文档测试所有 API 的行为是否正确,包括正面和负面测试用例。
  • 使用所提供的负面测试用例,了解如何返回错误消息和状态代码。这有助于确定您的应用程序如何管理错误。参考 JSON API Collection 以及附有“负面”前缀的测试用例。

虚拟化的优势

  • 资源不可用的几率更低。
  • 测试数据依赖性更低。
  • 与实时沙盒实例相比,响应更快。
  • 无需明确的账号级别访问权限即可使用全方位服务。
  • 提供无缝的集成体验,简化测试和认证过程。

常见问题解答

  1. 如何获取请求负载,才能达到虚拟化响应?
    每个 API 文档都提供了 JSON API Collection。访问 API 目录并打开 API 文档。查看 API 文档中的“JSON API Collection”部分。此 JSON API Collection 保存了所有请求负载,可检索虚拟化响应。
  2. 我是否需要获取指令才能访问虚拟化沙盒实例?
    是的,指令的生成和授权按原样进行,您应该为与虚拟化沙盒服务交付的每个事务传递指令。
  3. 我如何知道响应是否从虚拟化服务返回?
    虚拟化响应会在负载中添加以下警报。

  4. 在费率和托运时间 API 中,请求负载中的地址为何未经过验证?
    地址验证不属于推导虚拟化费率响应的逻辑中的一部分。仅对国家/地区进行验证,以便在其余地址字段中传递任何值。
  5. 是否所有 API 都经过虚拟化?
    迄今为止,仅下列 API 经过虚拟化。虚拟化其余 API 功能的工作正在进行中。
费率和托运时间 API 已虚拟化
追踪API 已虚拟化
零担货运 API – 费率和取件功能 已虚拟化
地址验证API 已虚拟化
邮政编码验证API 已虚拟化
取件请求API 已虚拟化
服务可用性API 已虚拟化
全球贸易API 已虚拟化
Ground当天结束时间关闭API 已虚拟化
Open Ship API 已虚拟化
托运API 已虚拟化
FedEx 服务站搜索 API 已虚拟化