负载测试是确定系统实时负载条件下性能的不同性能测试的一种类型。 在过去几年中,API 的作用有了很大的发展。 当 API 仅用于提取报表等任务时,其性能从来不是关键因素。 但是,API 已慢慢转向最终用户和服务公司提供的关键路径,这非常关键。 由于越来越多的组织使用 API 来提供服务,因此其安全性和性能成为一个关键因素。 在这里,我们将讨论一个 API 安全机制,称为 OAuth 2.0,以及如何在 OAuth Web API 上执行负载测试。
带负载视图的 JMeter 负载测试

什么是奥思?

OAuth 是行业标准的授权协议。 OAuth 专注于客户端-开发人员的简单性,同时为 Web 应用程序、桌面应用程序、移动电话等提供特定的授权流。 该规范及其扩展工作正在 IETFOAuth工作组内制定。 OAuth 通常用于互联网用户使用其微软、谷歌、Facebook、Twitter、Slack 帐户等登录第三方网站的方式,而无需公开其密码。

OAuth 1.0 被怀疑存在安全缺陷,并撤回了支持。 OAuth 2.0 是最新的,具有更高级的安全功能。 OAuth 2.0 允许用户与应用程序共享特定数据,同时将用户名、密码和其他信息保密。 例如, 应用程序 可以使用 OAuth 2.0 从用户那里获取存储文件的权限。 根据 OAuth网站,它就像一个汽车代客钥匙。 如今,许多豪华车都配有代客钥匙。 这是一个特殊的钥匙,你给停车服务员,不像你的普通钥匙,不允许汽车行驶超过一英里或两英里。 某些代客用钥匙无法打开主干,而其他代客键会阻止访问您的板载手机通讯簿。 不管代客钥匙施加什么限制,这个想法都是非常聪明的。 你给某人有限的访问你的车与特殊密钥,而使用你的常规钥匙解锁一切。

 

为什么负载测试 OAuth Web API 很重要

无论您在组织中的角色是什么,您至少会偶尔听到一次有关 API 的信息。 那么什么是 API? API 代表应用程序编程接口。 API 是当用户通过 Internet 访问应用程序时如何与应用程序通信的一组规则和说明。 请求可以非常简单:

获取: https://userauth.dotcom-monitor.com/login

如果您认为功能测试对于您的应用程序来说已经足够了,并且这是所有客户都关心的,那么您将是不正确的。 如果您的网站与营销活动同时上线,并且成千上万的潜在客户开始登录,那又会怎么样。 只有这样,您才意识到您的客户在登录过程中遇到了错误。 从那一刻起,您就失去了潜在的业务和组织的形象。

为了避免这种羞辱性的情况,负载测试是将您希望在生产中看到的 流量 系统地应用于应用程序服务器,以便在应用程序上线之前确定应用程序的行为方式。 如果已实现 OAuth,可以通过模拟多个用户同时向服务器发送请求来执行 API 负载测试。 可以通过不同的方式运行负载测试,但 API 负载测试 是最简单的方法之一,也是最具成本效益的选项。 这是因为脚本简单,并且有很多行业开源工具可用于生成和执行脚本。

如果您 不熟悉 API 测试和负载测试 的工作原理,这里有一篇好文章,您可以在其中 获得有关 API 测试的一些知识

LoadView 中的 API 请求可以通过两种方式完成:使用 EveryStep Web 记录器记录脚本或 HTTP 任务。 您可以使用使用 API 的应用程序或使用 LoadView 解决方案记录 API。 此外,如果应用程序使用第三方 API,则非常重要,您需要加载测试这些 API,以确保它们符合您的要求。

 

欧特流/相

在这里,我们将在 LoadView 解决方案的帮助下解释 OAuth 2.0 流。 LoadView 是一个按需负载测试平台,无需对硬件或 软件 基础设施进行前期投资即可进行实际负载测试。 我们要加载测试的应用程序是医生使用的运行状况应用程序。

从这里开始,我们将目标应用程序称为”健康应用程序”。 健康应用程序托管在 Azure 中,他们在登录过程中使用了 Microsoft OAuth 2.0 服务,因此医生可以访问并使用已注册的医院电子邮件地址登录。 基本上,此应用程序将提供有关患者病史的所有详细信息。

OAuth 2.0 流是专门为用户授权。 它专为可以存储机密信息和维护状态的应用程序而设计。 在用户与应用程序交互时或用户离开应用程序后,正确授权的 Web 服务器应用程序可以访问 API。

这是分步指南,其中将显示OAuth 2.0流程, 以及用于性能测试的相应LoadView配置

流中只有两个操作,但这取决于开发人员是否需要使用 API 的多个序列执行操作。 OAuth 2.0 API 配置和复杂性将因应用程序安全性和开发人员要求而更改。 这从来不是一刀切的过程。

有两种方法可以使用 LoadView 加载测试 OAuth 2.0。

  1. 请求开发人员执行 API 的 OAuth 身份验证序列。 这是最简单和直截了当的。 否则使用加载视图
  2. 使用 EveryStep Web 记录器脚本工具进行记录。 你可以在这里自己试用录音机

使用 EveryStep Web 记录器易于使用,而且更有效,因为我们不需要依赖开发人员。

 

过程 1. OAuth 2.0 负载测试过程与每步 Web 记录器

第 1 步. 访问每 步网络记录器

OAuth 记录新脚本

步骤 2. 输入应用程序的 URL 并选择”现在录制”。

奥思记录现在

 

步骤 3. 按照应用程序的登录方案进行。

OAuth 登录方案

 

第 4 步. 验证应用程序的所有详细信息。

OAuth 验证详细信息

 

第5步:就是这样。 重播并确保它的工作。 很简单吧? 录制完成后,在 LoadView 平台中配置它并执行负载测试。

 

流程 2. 使用 OAuth 2.0 API 序列使用 LoadView

注意: 完成 OAuth 2.0 过程需要两个操作。

操作 1. 获取授权代码

操作 2. 交换访问令牌的身份验证代码

注意:您需要从开发团队请求 API 服务器请求详细信息和正文数据详细信息

第 1 步. 创建 LoadView 帐户 ,然后转到 LoadView 仪表板以选择要测试的 API 类型。

OAuth 创建新的负载测试

步骤 2. 出于演示目的,我们选择 HTTP/S。 您的情况可能因 API 服务 类型而异。

OAuth HTTPS 测试

 

步骤 3. 配置 API 请求以访问应用程序 API 服务器。

OAuth 配置设备

 

第 4 步. API 服务器重定向到登录页面, 要访问 数据:使用微软(OAuth 提供程序)登录以访问该页面。 您可以在 URL 中看到 OAuth 2。

OAuth 登录 URL

第 5 步. 用户输入电子邮件地址和密码并单击登录名,输入其用户名和密码,然后允许访问应用程序。 身份验证服务器将用户重定向到您的网站,在 URL 中以代码作为参数。

OAuth 登录 URL 详细信息

 

步骤 6. API 服务器向 Auth 服务器请求给定访问令牌的用户信息。 身份验证服务器返回有关用户 ID、电子邮件等的详细信息。

OAuth 登录用户信息

 

步骤 7. API 服务器标识用户,并随访问令牌一起发送响应。 客户端在下面的请求中将访问令牌发送到 API 服务器。 API 服务器检查访问令牌是否有效,为应用程序提供访问权限。

OAuth 登录访问令牌

 

总结:负载测试 OAuth Web API

关联和配置 OAuth 2.0 请求并非易事。 您需要经验和对 OAuth 如何为您的应用程序工作的理解。 由于 OAuth 正在启用任何应用程序非常重要的功能,因此为应用程序执行 OAuth API 的性能测试非常重要。 如果使用任何其他开源工具(如 JMeter),您可以将 JMeter 测试转换为 LoadView。 JMeter 不是像 LoadView 这样的性能测试解决方案,它只是一个加载器。 我们需要一个良好的性能测试解决方案,如 LoadView 来执行端到端性能测试。

了解有关 LoadView 的更多信息并注册免费试用版。 你将收到最多 5 个免费负载测试来启动