android / android/android-test

Espresso ViewActions.swipeRight doesn't work for ViewPager2 on device with API 32+

Open
#2,196 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.2k
Forks
342
Avg merge
11h 29m
Merged PRs (30d)
2

Description

### Description
As the title says, `ViewActions.swipeRight` doesn't work on devices with API >= 32 when called on `ViewPager2`.

Calling a `swipeRight` on a `ViewPager2` triggers a back instead of a swiping on the `ViewPager2` itself.

### Steps to Reproduce
In the sample project linked below you can find a simple activity `MainActivity` with a `ViewPager2`, and a `MainActivityTest`.

The test just swipes on the view pager using _Espresso_ `ViewActions`: `swipeLeft/swipeRight`.
Launching the test on a device with API <= 31 passes, but fails on devices with API 32 and above.

`swipeLeft` instead, works in any case.

### Expected Results
Performing swiping actions on the view pager.

Demo on emulator device with API 31

https://github.com/android/android-test/assets/43886303/c1ffedd4-4b8d-42d7-9093-532f9a9f5655

### Actual Results
Back press.

Demo on emulator device with API 32

https://github.com/android/android-test/assets/43886303/690e5456-5622-4ba3-82be-8170cdbb5e2a

### AndroidX Test and Android OS Versions

- agp = "8.3.2"
- kotlin = "1.9.0"
- activity = "1.8.2"
- appcompat = "1.6.1"
- viewpager2 = "1.0.0"
- espressoCore = "3.5.1"
- testCore = "1.5.0"
- testJunit = "1.1.5"

### Link to a public git repo demonstrating the problem:
https://github.com/alecarnevale/EspressoSwipeRightIssue/tree/master

Contributor guide

Open the contributing guide

Research direction

Start with the linked sample project's MainActivity and MainActivityTest, then reproduce ViewActions.swipeRight on ViewPager2 on API 31 and API 32+ devices. Compare the gesture behavior with swipeLeft and trace the relevant Espresso entry point. Done means swipeRight pages ViewPager2 instead of triggering back on API 32 and newer.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
mobile-dev, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.