测试登录流程

测试并验证您的 Facebook 登录流程能否在各种条件下正常运行非常重要。为测试登录流程,请先创建一个单独的 Facebook 用户帐户:

  1. 新建一个 Facebook 模拟用户帐户
  2. 使用模拟用户凭证登录 Facebook

常见测试用例

在您测试下列每个用例之前,请确保使用应用设置,从模拟用户的 Facebook 帐户中移除您的应用。

1.新用户使用 Facebook 登录应用

  1. 前往您的应用,轻触 Log in with Facebook 按钮
  2. 轻触“确定”,接受读取权限
  3. 再次点击“确定”,接受写入权限(如适用)
  4. 前往应用设置,并验证此处是否显示了已授予的权限

2.用户之前使用同一邮箱通过非 Facebook 流程登录,现使用 Facebook 登录

  1. 前往您的应用,并使用邮箱登录
  2. 退出您的应用,轻触“使用 Facebook 登录”按钮
  3. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  4. 前往 Facebook 中的应用设置,并验证已授予的权限已经就位

3.用户之前使用 Facebook 登录过您应用,现重新登录

  1. 返回您的应用,轻触“使用 Facebook 登录”按钮
  2. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  3. 卸载后重新安装应用
  4. 打开您的应用,轻触“使用 Facebook 登录”按钮
  5. 验证您是否可以在未看到任何权限对话框的情况下登录

4.用户取消了使用 Facebook 登录,并试图再次登录

  1. 前往您的应用,轻触“使用 Facebook 登录”按钮
  2. 验证是否显示读取权限,然后轻触“取消”
  3. 打开您的应用,轻触“使用 Facebook 登录”按钮
  4. 验证是否再次显示读取权限

5.用户通过应用设置从 Facebook 中移除了您的应用,现再次访问您的应用。您的应用应检测到这一情况,并提示此用户重新登录。

  1. 前往您的应用,轻触“使用 Facebook 登录”按钮
  2. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  3. 前往 Facebook 中的应用设置,移除您的应用
  4. 重复第 1 步和第 2 步,并验证 Facebook 登录是否有效

6.用户在使用 Facebook 登录您的应用后更改 Facebook 密码

在这种情况下,您的口令将会失效,此时您需通知用户 Facebook 会话已过期,并要求用户再次登录。

  1. 更改您的 Facebook 密码,并选择“从其他设备退出”
  2. 前往您的应用,轻触“使用 Facebook 登录”按钮
  3. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  4. 前往 Facebook 中的应用设置,并验证已授予的权限已经就位

7.用户通过应用设置禁用了 Facebook 开放平台,现登录您的应用

在这种情况下,您应确保应用能检测到错误,以便通知用户,并将他们重定向至 Facebook 登录的非 iOS 集成版本。

  1. 通过应用设置为您的模拟用户关闭开放平台
  2. 前往您的应用,轻触“使用 Facebook 登录”按钮
  3. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  4. 验证开放平台是否现已开启,以及应用是否已添加到模拟用户的个人主页中,且隐私设置准确无误

8.用户在您的应用口令过期时再次访问您的应用。

请阅读我们的处理口令过期指南

9.对于要在多个设备上同步状态的游戏,请测试您的同步状态

  1. 在您的应用上使用 Facebook 登录,然后玩应用上的游戏,直至完成特定关卡 X
  2. 通过相同或不同的操作系统,在不同设备上使用 Facebook 登录,并测试关卡 X 是否保持同步

您需在 iOS 平台上测试的其他用例

1.用户在已安装 Facebook 应用并启用 iOS Facebook 集成的情况下登录您的应用

用户如果点击“取消”来响应您的 Facebook 登录读取权限请求,则将需要前往 iOS 系统设置,重新为您的应用启用 Facebook 登录。

如果用户之前已通过 iOS 集成登录功能拒绝 Facebook 权限,您的应用以后需使用传统的快速应用切换登录请求权限。在 SDK 调用方面,这种情况下不建议将 FBSessionLoginBehavior 设为 FBSessionLoginBehaviorUseSystemAccountIfPresent。对于 3.24 及更早版本的 SDK,请查看 FBSession;对于更新版本的 SDK,请查看 FBSDKAccessToken currentAccessTokenFBSDKLoginManager

2.用户在尚未安装 Facebook 应用且未启用 iOS Facebook 集成功能的情况下登录您的应用

  1. 前往您的应用,轻触“使用 Facebook 登录”按钮
  2. 验证是否有显示移动网页版 Facebook 登录界面,然后登录
  1. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  2. 前往 Facebook 中的应用设置,并验证已授予的权限已经就位

3.用户在已启用 iOS Facebook 集成功能但尚未安装 Facebook 应用的情况下登录您的应用

  1. 前往您的应用,轻触“使用 Facebook 登录”按钮
  2. 轻触“确定”,接受读取权限,再次轻触“确定”以接受写入权限(如适用)
  3. 前往 Facebook 中的应用设置,并验证已授予的权限已经就位

模拟用户

在您的应用设置中(位于“身份”下,位置为 https://developers.facebook.com/apps/{YOUR_APP_ID}/roles/test-users/),您可以创建模拟用户帐户来验证您的 Facebook 集成工具,而无需担心垃圾信息。

在 iOS 版 SDK 中,您可以使用 FBSDKCoreKit 中的 FBSDKTestUsersManager 类轻松获取模拟用户的访问口令,从而写入自动集成测试。注意,这个类需要您的应用密钥,您应确保已发布的应用中不包含应用密钥。