3

我有一个像这样的导航器结构:

stack drawer stack tab

我的层次结构是:

view
 view
  flatlist

我试图让我的平面列表向下滚动。您可以看到手指动画,但列表没有移动。你可以在这个 gif 中看到它:

屏幕录制 2018 年 3 月 16 日晚上 11 点 30 分.gif

这是我的代码:

it('should have infinite scrolling', async () => {
  await expect(element(by.id('NewsFeed.Scroller'))).toBeVisible();
  await expect(element(by.id('NewsFeedScreen.ArticleListing-0'))).toExist();
  await expect(element(by.id('NewsFeedScreen.ArticleListing-10'))).toNotExist();
  await element(by.id('NewsFeed.Scroller')).scroll(10000, 'down');
  await expect(element(by.id('NewsFeedScreen.ArticleListing-10'))).toExist();
});

我相信问题是滚动动作从我的屏幕底部开始。当我尝试自己在那里启动滚动表单时,它也不起作用。我在 API 中没有看到任何东西可以让我在该手势开始的位置上放置一个偏移量。在检查中查看该元素表明它不在 Detox 开始其手势的区域:https ://d3vv6lp55qjaqc.cloudfront.net/items/323C3D3U3y1Y2Z1B2L2J/Screen%20Shot%202018-03-16%20at%2023.47.48.png ?X-CloudApp-Visitor-Id=2852073&v=31521c3c

4

2 回答 2

9

在我们等待https://github.com/wix/detox/issues/589得到解决时,我找到了一个足够好的解决方案。

await element(by.id('NewsFeedScreen.ArticleListing-0')).swipe('up', 'fast', 0.9);

https://github.com/wix/detox/blob/master/docs/APIRef.ActionsOnElement.md#swipedirection-speed-percentage

导致我正在寻找的行为,在我的列表中向下滚动

于 2018-03-17T10:40:17.847 回答
0

如果现在有人遇到这个问题 - 尝试使用方法的startPositionXorstartPositionY参数.scroll(),例如:

await element(by.id('scrollView')).scroll(200, 'down', NaN, 0.5)

当我遇到同样的问题时,这对我来说就像一个魅力。

https://github.com/wix/Detox/blob/master/docs/APIRef.ActionsOnElement.md#scrolloffset-direction-startpositionx-startpositiony

于 2021-07-08T09:18:50.463 回答