由于我正在使用密码智能锁,这可能是为测试提供凭据的机会 - 但我不知道如何做到这一点。
有没有一些最佳实践可以在测试期间提供凭据或跳过登录?我可以考虑使用特殊的buildType / -flavor模拟登录,但这样就不能用于测试发布版本。
如果我能够测试一个最终发布版本,当测试成功时可以上传到商店,那将是很好的。这样,我也可以在PlayStore中使用内置的预先启动报告(这将非常好)。
进入Firebase控制台->测试实验室->选择维度,然后点击
显示高级选项
并查找
测试帐户凭据(可选)
然后按以下方式填写:
输入用户名资源
:
您的用户名(电子邮件)EditText资源的名称,跳过R.id
部分,因此对于R.id.edit_text_email
,输入edit_text_email
输入密码资源
:与上述相同,但是用于密码。再次跳过R.id
,例如edit_text_password
输入用户名
:用于测试的用户名或电子邮件,例如test@mywebsite.com
输入密码
:用于测试的密码,例如testTEST123
看起来Robo(测试机器人)会在找到ID资源指定的EditText时立即键入凭据,但如果您有其他身份验证选项,例如“使用Google登录”和“继续使用Facebook”,则可能需要一些时间来确定要单击哪个按钮进行登录。在尝试了其他服务几分钟后,它似乎能够幸运地按下正确的按钮,使用您提供的凭据继续进行身份验证。
撰写本文时,还没有办法编写登录行为脚本,因此建议使用上述方法并在控制台中为Robo提供足够的测试时间(测试超时
),以防它长时间停留而不点击正确的按钮。
如果您为Robo提供了使用Google登录
按钮,让其使用自己的Google凭据进行登录,请记住,如果您提供了测试帐户凭证
,则此功能将无法使用。即要能够使用使用Google登录
,请确保您没有提供任何其他登录凭据,否则它将失败。
对于Robo测试(该测试是Play Store开发者控制台上预发布报告的动力源),绕过登录是已知的限制之一,您可以在文档底部了解更多信息。然而,最近Robo有了自动使用Google账号登录的功能。Test Lab中的所有设备现在都与一个Google账号相关联,当需要使用Google账号登录时将使用该账号。
如果您想测试通常需要其他类型登录的应用程序,则正确猜测需要提供一个配置为不需要登录的替代APK。这样做并不是很方便,特别是对于在alpha/beta中进行测试的应用程序。为了以编程方式决定是否需要登录,您可以尝试查询在Test Lab设备上设置的特殊系统属性(“firebase.test.lab”)。您可以在这里阅读相关内容。这通常用于仪器测试,但它也可能适用于Robo测试(我还没有尝试过,稍后我将与团队确认)。