android / android/android-test
Espresso ViewActions.swipeRight doesn't work for ViewPager2 on device with API 32+
- 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
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