测试用户非常善于进行集成测试。
当我开发基于facebook oauth的东西时,我可以以编程方式创建test users并将它们用作我的应用程序的真实用户。它们的行为方式与真实用户相同,唯一的区别在于它们是沙箱。
Google会提供类似的内容吗?
他们正在将所有服务转移到oauth2,我想与“真实”用户进行完整的集成测试。
目前我手动运行集成测试并在请求时授权应用程序,显然这种方法不适合CI和真正的自动化测试。
我看到的唯一选择是创建一个仅在测试中使用的真实帐户,并使用其与硒等内容交互的凭据。
其他替代方案?
答案 0 :(得分:8)
您是对的Google不像Facebook那样提供测试用户API。我认为你有两个选择:
按照您的说法使用“真正的”Google用户。如果Google阻止这些帐户或添加额外的检查以测试他们是不是真正的用户(电话验证),这可能会导致问题。他们还会进行一些A-B测试,这可能会破坏您的测试脚本。
使用模拟第三方代替Google服务。这将测试您的通用oauth集成代码,但显然不如针对真实Google服务进行测试那样强大。在控制模拟服务时,此方法可以更稳定。
答案 1 :(得分:0)
您可以在 googles cloud console 中创建一个 google 帐户并配置一个简单的项目/客户端。然后您可以将其配置为 oauth 并使用 googles oauth-playground 创建刷新令牌(永不过期)。
使用您的客户端 ID、客户端机密和刷新令牌,您可以在测试中向 googles auth-token 端点 (https://www.googleapis.com/oauth2/v4/token
) 发送后请求,并将收到有效(短时间)访问令牌。此处无需手动步骤。
我在 this guide 中读到过。