来自 Xamarin Forms 按钮的 Android 资源名称

标签 android xamarin xamarin.android xamarin.forms google-play

Play 商店现在允许您指定要使用的预发布报告模拟器的凭据。为了让模拟器知道要向哪个文本字段添加凭据以及单击哪个按钮登录,它会询问文本字段和按钮的资源名称。

是否有任何 Xamarin 表单的属性转换为资源名称?在构建我的应用程序后,我尝试查看 /obj//bin/ 文件夹,看看其中一个文件是否有类似的东西,但我没有找到任何东西。

我能想到的可能映射到资源名称的属性:

StyleId
AutomationId
ClassId
AutomationProperties.Name (in XF 2.3.5)

如果没有任何映射,您是否知道使用自定义渲染器来完成这项工作的方法?

最佳答案

您有两个选项可以通过 Xamarin.Forms 使用预发布报告:

1) 通过包含用户名和密码 Entry 字段的布局 XML 资源定义登录 Activity,登录按钮是可选的,并且如果未提供,机器人将点击屏幕上的每个可用按钮。

您可以将此 Activity 定义为您的主要启动器(或在“启动画面” Activity 之后启动的 Activity )并独立于 Xamarin.Forms 代码执行登录身份验证,当然您可以访问 PCL/NStd 库代码。身份验证成功后,继续执行正常 Xamarin.Forms 启动的“MainActivity”或通过自定义渲染器(或对完整 Activity 最简单的依赖服务)呈现此登录 Activity (或 ViewGroup、Fragment 等) ....)

现在您知道 Google 需要的资源 ID,因为它们硬编码在登录布局 XML 中...

2) 将您的应用发布为 Alpha/Beta 并让它自动登录到测试帐户或只显示一个具有预先提供的登录屏幕填写测试帐户用户和密码,并将这些条目设置为只读。机器人将点击登录按钮。

选项 2 是最快和最容易设置的,因为您已经有一个登录页面,只需要为这两个字段定义一个测试帐户 ID/密码作为默认值,然后将这些字段设置为只读....

关于来自 Xamarin Forms 按钮的 Android 资源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44078105/

相关文章:

android - 如何在 flutter google map 网络服务插件中获取当前位置?

c# - 启用 PROGUARD - Xamarin.Android

c# - Xamarin Android 警报管理器问题

android - 使用替换时 FragmentManager 崩溃

c# - 等待用户确认 Xamarin.Android 的 AlertDialog

android - 发送到 Android 设备的额外推送通知

java - 如何比较第一个表 ID 和第二个表类别 ID 并在 Android 中显示数据 category_id 明智的数据库

ios - Xamarin iOS 中的应用程序崩溃问题

xamarin.android - 让 servicestack 在 monodroid 上工作

android - 使用 HttpPost 通过 Android 在 Facebook 中发布视频