9

我试图在 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 测试?

4

2 回答 2

4

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

于 2017-07-27T20:56:25.050 回答
0

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

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

  2. 创建一个“特殊”二进制文件以使用 robo 测试进行测试,该测试将测试用户的用户名和密码作为文本输入中的默认值(因此 robo 测试只需单击按钮即可登录)

于 2020-03-08T18:13:41.367 回答