Oauth 2.0 谷歌是否为集成测试提供测试用户

Oauth 2.0 谷歌是否为集成测试提供测试用户,oauth-2.0,integration-testing,google-oauth,google-account,Oauth 2.0,Integration Testing,Google Oauth,Google Account,测试用户非常擅长做集成测试 当我开发支持FacebookOAuth的东西时,我可以通过编程创建它们,并将它们作为我应用程序的真正用户使用。它们的行为方式与真实用户相同,唯一的区别是它们是沙盒 谷歌提供类似的服务吗 他们正在将所有服务迁移到oauth2,我想用“真实”用户编写一个完整的集成测试 目前,我手动运行集成测试并在请求时授权应用程序,显然这种方法不适合CI和真正的自动化测试 我看到的唯一替代方法是创建一个只在测试中使用的真实帐户,并使用其凭据与selenium之类的东西进行交互 其他选择?

测试用户非常擅长做集成测试

当我开发支持FacebookOAuth的东西时,我可以通过编程创建它们,并将它们作为我应用程序的真正用户使用。它们的行为方式与真实用户相同,唯一的区别是它们是沙盒

谷歌提供类似的服务吗

他们正在将所有服务迁移到oauth2,我想用“真实”用户编写一个完整的集成测试

目前,我手动运行集成测试并在请求时授权应用程序,显然这种方法不适合CI和真正的自动化测试

我看到的唯一替代方法是创建一个只在测试中使用的真实帐户,并使用其凭据与selenium之类的东西进行交互


其他选择?

你是对的,谷歌没有像Facebook那样提供测试用户API。我认为你有两个选择:

  • 如你所说,使用“真正的”谷歌用户。如果谷歌封锁这些账户,或者增加额外的检查来测试他们是否是真正的用户,这可能会导致问题(电话验证)。他们也会做一些A-B测试,这会破坏你的测试脚本

  • 使用模拟第三方而不是谷歌服务。这将测试您的通用oauth集成代码,但显然不如测试真正的Google服务那么健壮。当您控制模拟服务时,此方法可以更稳定


  • 您可以创建一个google帐户,并在其中配置一个简单的项目/客户端。然后,您可以将其配置为oauth,并使用Google创建一个刷新令牌(该令牌永不过期)

    使用您的客户端id、客户端密码和刷新令牌,您可以在测试中将post请求发送到googles auth令牌端点(
    https://www.googleapis.com/oauth2/v4/token
    ),并将收到有效(短期)访问令牌。这里不需要手动步骤


    我在中读到过。

    以防万一别人会发现这一点。我们尝试了选项1,他们确实阻止了自动登录。我们甚至复制了2FA,但他们随后求助于recaptcha。