android - 如何为自动化 android 测试提供登录凭据?

标签 android authentication automated-tests google-smartlockpasswords firebase-test-lab

我正在寻找一种方法来为我的应用程序“提供登录”,以便自动测试“登录”并可以测试整个应用程序。目前它当然被登录屏幕阻止了。

因为我正在使用 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/

相关文章:

node.js - 使用 SAStoken 的 Azure 事件中心 AMQP1.0 发送器

jsp - NetBeans Tomcat Jsp mysql 表单登录和 session

selenium - 如何使用 Selenium WebDriver(Java) 和 TestNG 按特定顺序运行测试类?

android - 将 api 中的图像存储到房间数据库中

android - Android中的简单语音命令

java - Android USB 连接状态;

web-services - RESTful Web 服务 - 如何验证来自其他服务的请求?

android:折叠工具栏在向上滚动时弹跳

c# - 编码的 ui 控件轮询而不是等待控件存在

testing - Polarion:xUnitFileImport 创建重复的测试用例,而不是引用现有的测试用例