排毒:使用多个元素匹配器会导致错误
Detox: Using multiple element matchers results in error
我正在使用 Detox 在 React Native 应用程序上使用以下规范进行 E2E 测试:
React Native 0.55.4
Node 9.2.0
Detox 7.3.7
当我在我的应用程序中的一个页面上时,我可以使用带有 Matcher element(by.id('scrollView'))
的 scrollView 进行滚动,我可以使用 Matcher element(by.text('This Button'))
单击一个按钮,但是如果我想 select 使用 .and()
方法链接的按钮元素出现错误 Cannot find UI element
。
我不明白为什么我可以独立地与这两个元素交互,但是当我 link 它们不再起作用时。
这里是 React Native 代码的清理示例:
Route.js
<ScrollView style={styles.container} testID={"scrollView"}>
<View style={styles.header} />
this.body()
</ScrollView>
this.body() 做了一些验证,但 render()
没什么特别的:
<View>
<CustomButtonComponent />
</View>
自定义按钮组件是另一个带有一些文本和一个按钮元素的视图。
我唯一的猜测是,由于我使用的是嵌套 views/custom 组件,所以 Matcher 逻辑可能无法处理。有任何想法吗?可能是我没完全看懂文档。
正如@Andrew 在他的评论中指出的那样,我的问题无效,因为我误解了文档。如果您想基于与其他元素的关系进行匹配,请使用 withDescendant()
或 withAncestor()
而不是尝试与 and()
.
链接
我正在使用 Detox 在 React Native 应用程序上使用以下规范进行 E2E 测试:
React Native 0.55.4
Node 9.2.0
Detox 7.3.7
当我在我的应用程序中的一个页面上时,我可以使用带有 Matcher element(by.id('scrollView'))
的 scrollView 进行滚动,我可以使用 Matcher element(by.text('This Button'))
单击一个按钮,但是如果我想 select 使用 .and()
方法链接的按钮元素出现错误 Cannot find UI element
。
我不明白为什么我可以独立地与这两个元素交互,但是当我 link 它们不再起作用时。
这里是 React Native 代码的清理示例:
Route.js
<ScrollView style={styles.container} testID={"scrollView"}>
<View style={styles.header} />
this.body()
</ScrollView>
this.body() 做了一些验证,但 render()
没什么特别的:
<View>
<CustomButtonComponent />
</View>
自定义按钮组件是另一个带有一些文本和一个按钮元素的视图。
我唯一的猜测是,由于我使用的是嵌套 views/custom 组件,所以 Matcher 逻辑可能无法处理。有任何想法吗?可能是我没完全看懂文档。
正如@Andrew 在他的评论中指出的那样,我的问题无效,因为我误解了文档。如果您想基于与其他元素的关系进行匹配,请使用 withDescendant()
或 withAncestor()
而不是尝试与 and()
.