是否可以对 iOS 应用程序进行涉及双因素身份验证的自动化测试?

问题描述 投票:0回答:2

我有一个 iOS 应用程序,它使用 2FA 来实现某些帐户相关功能。我想为这些功能创建一些 UI 自动化测试,但它们需要接收短信或电子邮件。在模拟器上,没有这样的方法来访问短信。我认为也许可以访问电子邮件,但这需要打开 Mobile Safari 并登录电子邮件帐户 - iOS 自动化框架是否支持访问 UIWebViews 的粒度级别?

是否有可能对 2FA 进行自动化测试?

ios automation automated-tests ui-automation two-factor-authentication
2个回答
1
投票
听起来您需要访问 SMS,因为您需要知道 2FA 代码才能继续进行自动化。 您有多种选择:

  1. 使用假后端。 到达发送短信的位置后,为第二个密码提供已知值(硬编码,或以其他方式可预测且双方都知道)。

  2. 在主机上使用 shell 脚本询问您的服务器 2FA 代码是什么。 这是一个安全风险,但希望您不是在生产系统上进行测试。

  3. 将您的非生产后端服务器设置为接受为其提供的任何 2FA 代码。

我们使用第一个选项。


0
投票
您可以使用

Msgdrop 通过 API 调用生成测试电子邮件,然后您可以通过进一步的 API 调用访问电子邮件的收件箱。通过这种方式,您可以可靠地测试这些验证码的检索,而无需使用 Mobile Safari 通过一些黑客测试路线。

Msgdrop API 还允许您提交 QR 码图像或 OTP 注册的详细信息,这样您只需通过 API 即可执行与 Google 身份验证器完全相同的操作。

请参阅此处:

https://docs.msgdrop.io

© www.soinside.com 2019 - 2024. All rights reserved.