Detox部分可见​​Button使用toBeVisible()expectation和tap()action

时间:2018-03-30 09:31:32

标签: detox

我有一个带有ScrollView的屏幕和一个位于底部并且部分可见的按钮,即按钮的顶部位于屏幕中,但标题不可见,除非我向下滚动:

expect(element(by.id(BUTTON_IN_THE_BOTTOM))).toBeVisible() =>匹配器失败了。 element(by.id(BUTTON_IN_THE_BOTTOM)).tap() =>一切都很好,按钮被轻拍。

这似乎是不一致的,我认为框架应该在这种行为中保持一致。这是预期的行为吗?

正在使用排毒7.3.2

2 个答案:

答案 0 :(得分:1)

我们的iOS后端框架Earl Grey中的匹配器之间很可能存在不一致。

无论如何,你不要滚动就会遇到麻烦。屏幕上的位置取决于几个因素,包括设备大小,RN布局系统和OS布局系统和内容。你不应该对像素精度做出假设。通过不滚动可见的按钮,你会在不应该的地方引入片状。

答案 1 :(得分:0)

使用列表中的swipe action到达屏幕底部,以便按钮可见。如上所述,这将防止诸如在小型res设备上进行测试的片状行为将无法通过测试。