我正在寻找一种方法来"提供登录"到我的应用程序,以便自动测试"登录"并可以测试整个应用程序.目前它当然被登录屏幕阻止了.
因为我使用SmartLock作为密码,这可能是为测试提供一些凭据的机会 - 但我不知道如何.
是否有一些最佳做法可以在测试期间提供/跳过登录?我可以想到一个特殊的buildType/-flavor,它正在模拟登录,但这样它就不能用于测试发布版本.
当我测试最终版本构建时,这将是很好的,可以在测试成功时上传到商店.这样,我也可以在PlayStore中使用嵌入式预启动报告(这将非常好).
android automated-tests login google-smartlockpasswords firebase-test-lab
我正在Visual Studio 2017中使用Xamarin Forms 3构建Android应用程序并将其发布到Google Play。Google Play提供了自动测试功能(发布前的报告),但无法通过我的登录屏幕。
Google Play可以输入“用户名资源名称”,“密码资源名称”和“登录按钮资源名称”。我为每个控件(txtEmail,txtPass和btnSignIn)都提供了Xamarin x:name ,但是显然这是不正确的,因为自动测试仪仍然无法进入并且甚至没有尝试。
这是我的SignIn.xaml:
<Entry x:Name="txtEmail" Placeholder="email address" Keyboard="Email" />
<Entry x:Name="txtPass" IsPassword="True" />
<Button x:Name="btnSignIn" Text="Sign In" Clicked="OnSignInClicked" />
Run Code Online (Sandbox Code Playgroud)
我已经找到了这些SO问题(在这里,here和Here),但是它们并没有在Xamarin Forms上下文中解决我的问题。第一个链接似乎特别有用,但我不知道将XML代码放在哪里。
在我看来,Xamarin / C#被“编译”为Android代码并生成这些XML文件。我该如何处理?
我了解.APK文件只是一个ZIP文件。将发送到Google Play的APK文件重命名为.zip,我可以浏览内容,但是看不到任何有意义的XML代码。
目前,我添加了一个额外的“演示”按钮,单击后会将用户名和密码放入字段中,然后单击“登录”按钮。Google的自动化测试仪喜欢这种方法并且可以使用,但是对于人工测试来说这是一个糟糕的主意,我想删除这种解决方法。