如何解决React Native:如何在排毒测试中从一个屏幕导航到另一个屏幕
我正在尝试使用Detox为我的应用程序编写测试。但是在从登录屏幕导航屏幕时,由于找不到匹配器,我的测试失败。 我在渲染函数中正确添加了testID,但仍然出现错误。 这是我的测试代码:
it('should login successfully',async () => {
await device.reloadReactNative();
await element(by.id('textInput_username_login')).typeText('test');
await element(by.id('textInput_password_login')).typeText('123456');
await element(by.text('Log In')).tap();
await expect(element(by.id('otp'))).toBeVisible();
});
出现以下错误:
Test Failed: No elements found for “MATCHER(identifier == “ otp” && NOT DESCENDANT(class ⊇ “RCTTextView” && identifier == “ otp”))”
谢谢。
解决方法
不能正确添加testID。如果您在iOS上运行,则可以添加--loglevel verbose参数,并在打印的层次结构中查找您希望看到的元素,并检查id是否在其上或什至在屏幕上。
,另一种选择是使用Flutter的布局检查器查找元素并验证其具有与“ otp”匹配的测试ID:https://fbflipper.com。您可以将其下载为桌面应用程序,尽管Mac会抱怨,因为它不是来自App Store,而是提醒用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。