Adee
Adee

Reputation: 377

Detox - cannot use the scroll action on a ScrollView element

Unfortunately I can't understand why scroll and scrollTo actions don't work.

This is very strange because the swipe action works fine for the same element.

Of course, the ScrollView element exists and is visible.

Detox version: 16.9.2

Action:

await element(by.id('some')).scrollTo('bottom');

Element:

<ScrollView testID="some">

Error message:

Cannot find UI element.
    Exception with Action: {
      "Action Name":  "Scroll To Bottom content edge",
...

Error Trace: [
      {
        "Description":  "Interaction cannot continue because the desired element was not found.",
        "Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
        "Error Code":  "0",
        "File Name":  "GREYElementInteraction.m",
        "Function Name":  "-[GREYElementInteraction matchedElementsWithTimeout:error:]",
        "Line":  "124"
      }
    ]

Upvotes: 2

Views: 5891

Answers (1)

Slav Kurochkin
Slav Kurochkin

Reputation: 424

try this to see if it works for you:

await waitFor(element.by(id('element_you_looking_for_at_the_bottom')))
   .toBeVisible()
   .whileElement(by.id('some')) // where some is your ScrollView testID
   .scroll(50, 'down')

I had the same problem as you are, so had to use this approach instead

Upvotes: 4

Related Questions