Android
If you encounter problems, you can always ask questions in the chat with developers.
Helpful debug scripts
The Emcee worker container contains helpful debug scripts which can help you to investigate possible problems.
print_hardware_info.sh
will print info about cpu, ram, etc.
Usage example, where 6af3740f0618 is docker container id (replace by your own):
docker exec -it 6af3740f0618 /app/self-check/print_hardware_info.sh
check_artifactory.sh
will emulate interaction with Artifactory. This script will help you check whether you have configured Artifactory properly.
Usage example, first script argument is the Artifactory url (without last /
symbol in url), second argument is the Artifactory repository:
docker exec -it 6af3740f0618 /app/self-check/check_artifactory.sh http://storage-url:8081/artifactory emcee-transport
Here is the list of known Android test problems and ways to solve them.
Emulator UI is frozen or blocked by a system dialog#
If the emulator screen is frozen or blocked by a system dialog (for example, "System UI isn't responding" dialog), try increasing the container resources.
Sometimes, there are insufficient resources for the emulator.
Application installation timeout#
Try increasing installation timeout using worker configuration.
By default, this timeout is set to 20 seconds, which may not be enough time for the installation.
"Closed" or "device offline"#
If you faced error with description closed
or device offline
then try to increase workers resources (such as CPU, for example).
This kind of error can occur when there is not enough resources for workers.
Parameterized test do not launch or do not produce results#
For now we do not support parameterized tests with name parameter. For example, @Parameterized.Parameters(name = "parameterized test name")
.
If you want this test works try to remove name
parameter. For example, @Parameterized.Parameters
.
Applications installation timeout on Android API 27#
Sometimes apk doesn't install within the timeout period. Try to increase application installation timeout or Emcee worker resources, or try to use another Android API level.
If Allure's report is missing tests#
If you can't find some tests in Allure report try to add @RunWith(AllureAndroidJUnit4::class)
annotation to the test class with missed tests.
No test artifacts after tests run#
Possible solutions:
- Check that Artifactory is configured properly. Read more in storage doc
- Check that you use the correct username and password in both the Emcee client and the workers
- Check worker logs for possible network or Artifactory errors