android-test icon indicating copy to clipboard operation
android-test copied to clipboard

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

Open alecarnevale opened this issue 3 months ago • 1 comments

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

alecarnevale avatar Apr 17 '24 15:04 alecarnevale