我正在寻找一种方法来为我的应用程序“提供登录”,以便自动测试“登录”并可以测试整个应用程序。目前它当然被登录屏幕阻止了。
因为我正在使用 SmartLock 密码,这可能是一个为测试提供一些凭据的机会 - 但我不知道如何。
是否有一些最佳实践可以在测试期间提供凭据/跳过登录?我可以想到一个特殊的 buildType/-flavor 来模拟登录,但这样它就不能用于测试发布版本。
如果我可以测试最终版本,测试成功后可以上传到商店,那就太好了。这样,我也可以在 PlayStore 中使用嵌入式预发布报告(这真的很棒)。
最佳答案
转到 Firebase 控制台->测试实验室->选择维度,然后单击
显示高级选项
并寻找
测试帐户凭据(可选)
然后填写如下:
输入用户名资源
:
您的用户名(电子邮件)的名称>
Enter password resource
:与上面相同,但用于密码。同样,跳过 R.id
,例如。 edit_text_password
Enter username
:您用于测试的用户名或电子邮件,例如。 test@mywebsite.com
Enter password
:您用于测试的密码,例如 testTEST123
Robo(测试机器人)似乎在找到使用 ID 资源指定的 EditTexts 后立即输入凭据,但如果您有其他身份验证选项,则可能需要一点时间来确定单击哪个按钮登录作为“使用 Google 登录”和“使用 Facebook 继续”。在其他服务中尝试几分钟后,似乎幸运地按下了正确的按钮,使用您提供的凭据继续进行身份验证。
在撰写本文时,无法编写登录行为脚本,因此无法建议使用哪些按钮进行身份验证,因此只需使用上述方法并给 Robo 足够的测试时间(测试超时
在控制台中),以防它在一段时间内没有单击右键而停留。
如果您为 Robo 提供 Sign in With Google
按钮以使用其自己的 Google 凭据登录,请记住,如果您提供测试帐户凭据
,这将不起作用. IE。要能够使用 Sign in with Google
,请确保您没有提供任何其他登录凭据,否则它将失败。
注意:您可以使用类似的方法让 Robo 填写其他 EditText 字段 - 检查 Test Lab documentation了解更多信息。
关于android - 如何为自动化 android 测试提供登录凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38260874/