如何为Firebase Test Lab预设定位Android资源名称
解决Firebase Test Lab中React Native应用的登录字段资源名称问题
Firebase Test Lab的Android测试预设(尤其是Robo测试)识别的资源ID是Android原生的resource-id,而React Native设置的testID会被映射为Android端的resource-id,但格式并非单纯的testID值,而是需要加上应用包名前缀,格式为:[你的应用包名]:id/[testID]。
具体操作指南:
- 替换包名:把
[你的应用包名]换成你React Native应用的实际包名(比如com.example.myreactapp),针对你设置的login_passwordtestID,完整的资源ID应该是com.example.myreactapp:id/login_password。 - 验证资源ID:可以用Android Studio的Device Inspector打开应用,定位到密码输入框,查看其
resource-id属性,就能看到这个带包名前缀的完整值。 - 配置到Firebase:在测试预设的用户名/密码资源名称栏,直接填写这个完整的
resource-id即可,无需使用R.string.xxx或@string/xxx(这两种是针对字符串资源的,并非控件资源ID)。
补充:你在Appium中使用
//*[@resource-id='login_password']能生效,是因为Appium允许省略包名前缀进行模糊匹配,但Firebase Robo测试需要精确的完整资源ID,这就是之前尝试单纯login_password无效的原因。
内容的提问来源于stack exchange,提问作者Ishan Hettiarachchi
相关产品推荐
相关产品推荐

