android / android/android-test
Espresso Device API Failure when Changing Screen Orientation
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 342
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 2
Description
### Description
While running Espresso device testing, the task "app:connectedDebugAndroidTest" fails. This happens when attempting to set the screen orientation from portrait to landscape within a test case.
### Steps to Reproduce
1. Pull the code from the following link: https://github.com/takahirom/compose-samples/pull/2/files
2. Set the emulator version to 33.1.13-10332831, Android version to 13.0 (T) - API 33.
3. Set `androidx-test-espresso-device` version to "1.0.0-alpha05" and Android Gradle Plugin version to "8.2.0-alpha10".
4. Run the code, specifically the `ReplyAppTests` class with the `app_rotate` test function.
The test function attempts to switch the screen orientation from portrait to landscape, then asserts that a node with the text "Search emails" exists.
### Expected Results
The test should change the orientation to landscape successfully and the node with the text "Search emails" should be found.
### Actual Results
The test fails with an `DeviceControllerOperationException: Failed to set screen orientation`. The status code returned is `UNAVAILABLE` and the cause is a `SocketException: socket failed: EPERM (Operation not permitted)`.
> com.example.reply.ReplyAppTests > app_rotate[Pixel_6_Pro_API_33(AVD) - 13] FAILED
androidx.test.espresso.device.controller.DeviceControllerOperationException: Failed to set screen orientation. Status: Status{code=UNAVAILABLE, description=null, cause=java.net.SocketException: socket failed: EPERM (Operation not permitted)
at java.net.Socket.createImpl(Socket.java:517)
Tests on Pixel_6_Pro_API_33(AVD) - 13 failed: There was 1 failure(s).
### AndroidX Test and Android OS Versions
AndroidX Test Espresso Device: "1.0.0-alpha05"
Android OS: 13.0 (T) - API 33
Android Gradle Plugin: "8.2.0-alpha08"
Emulator version: 33.1.13-10332831
### Link to a public git repo demonstrating the problem:
The issue can be observed in the following pull request: https://github.com/takahirom/compose-samples/pull/2/files
Contributor guide
Research direction
Start with the ReplyAppTests class and its app_rotate test from the linked reproduction pull request, using the stated Android, emulator, Espresso Device, and Android Gradle Plugin versions. Reproduce the orientation change failure and investigate the DeviceControllerOperationException; done means the test changes to landscape and finds the "Search emails" node successfully.
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