如何将 firebase TestLab 与本机反应一起使用

How to use firebase TestLab with react native

我试图 运行 在 firebase TestLab 上对我的 React 本机应用程序进行 robo 测试,但我无法获得 robo 测试通过登录。

第一个问题是它没有输入电子邮件和密码。

在我的 js 文件中我有:

<Input ... testID="usernameInput" />
<Input ... testID="passwordInput" />

我把它放在我的 firebase 控制台中

然而,它根本不起作用。我查了一下录像,没有录入。

第二个问题是,即使我在调试 apk 中硬编码我的用户名和密码,它甚至不会点击定义为的登录按钮:

<Button onClick={() => {this.handleLogin()}}>Login</Button>

我想知道这里发生了什么。有没有人使用过 React Native 应用程序进行过 firebase TestLab robo 测试?

目前,Robo 仅允许您预填可由本机 Android 资源 ID(如 EditText 小部件)唯一标识的表单字段。我不太熟悉 React Native,但看起来它会生成原生 Android 应用程序。这可能就是 Robo 可以完全导航您的应用程序的原因——它使用一些本机 Android 小部件来实现您的 UI。但是,如果您可以让 React 使用本机 Android 资源 ID(或弄清楚哪些资源 ID 已被使用),并在您的测试中引用这些名称,那可能会奏效。

我的建议是执行以下操作之一:

  1. 创建一个带有长随机密钥的 "deep link",它将作为测试用户自动登录到您的应用程序(并绕过登录流程),您可以提供此深度 link 到机器人测试作为初始起点。 (例如 myapp://6zOOT9b1duKykHqE8bLFROGymYQDsRXn)

  2. 创建一个 "special" 二进制文件以使用 robo 测试进行测试,该测试将测试用户的用户名和密码作为文本输入中的默认用户名和密码(因此 robo 测试将仅签名通过点击按钮)