gpt4 book ai didi

ios - 在 iOS 的 Firebase 测试实验室中测试无密码身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:41 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何通过 iOS 的 firebase 测试实验室执行 e2e 测试,以允许检查无密码身份验证流程,这基本上应该执行以下操作

  1. 在我的应用程序中输入电子邮件
  2. Firebase 将授权链接发送到此类电子邮件
  3. 我需要以某种方式在 firebases 测试设备的某处登录此类电子邮件,我假设是在邮件应用程序或 gmail 中?
  4. 我需要知道新邮件何时到达并打开它
  5. 打开电子邮件后,我需要点击授权链接
  6. 这应该让我回到应用程序并进行身份验证

我目前最大的问题是弄清楚在我的应用程序之外发生的步骤,即我如何准备这个测试并在我的电子邮件地址下登录(例如,最好在 safari 中登录 gmail 还是以某种方式添加这个acc到苹果邮件应用程序?)。

最佳答案

测试邮件

根据我的经验,除了检查您希望发送电子邮件的方法调用是否已发生之外,测试您自己的代码以查看电子邮件是否已发送并不简单。

最重要的是使用 Firebase,它不会公开其底层电子邮件发送代码,这对我来说是一个挑战。

在测试方面,我建议您断言发送电子邮件的方法调用已发生或已到达相关代码路径。在 Firebase 网络中,这看起来像:

firebase.auth().sendSignInLinkToEmail(email, actionCodeSettings)
.then(function() {
// The link was successfully sent. Inform the user.
// Save the email locally so you don't need to ask the user for it again
// if they open the link on the same device.
window.localStorage.setItem('emailForSignIn', email);
// TODO save email to something accessible in your iOS tests
// TODO In your tests, confirm that email was saved after it was sent
})
.catch(function(error) {
// Some error occurred, you can inspect the code: error.code
});

参见:https://firebase.google.com/docs/auth/web/email-link-auth#send_an_authentication_link_to_the_users_email_address

另一种选择:

您可以在您管理的邮件服务器上设置一个具有电子邮件地址的测试用户,并使用您自己的自定义邮件阅读代码检查该测试用户的传入邮件。

我会为此使用 Firebase 管理工具:https://firebase.google.com/docs/auth/admin/manage-users#create_a_user

关于ios - 在 iOS 的 Firebase 测试实验室中测试无密码身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55499956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com