0

I am running my UI Tests on Github CI and the tests are flaky. I don't understand how I can fix it. The animations are disabled and I am running the tests on a iPhone 13 plus. A lot of tests are running green, but some are not working. Locally, I got everything working.

These are some logs:

2022-06-21T13:42:23.2627250Z     t =    63.34s Tap Cell
2022-06-21T13:42:23.2707530Z     t =    63.34s     Wait for com.project.project to idle
2022-06-21T13:42:23.2733620Z     t =    63.41s         Unable to monitor event loop
2022-06-21T13:42:23.2734250Z     t =    63.41s         Unable to monitor animations
2022-06-21T13:42:23.2734800Z     t =    63.42s     Find the Cell
2022-06-21T13:42:24.1158670Z     t =    64.45s         Find the Cell (retry 1)
2022-06-21T13:42:24.1287900Z     t =    64.45s         Collecting extra data to assist test failure triage
2022-06-21T13:42:24.2022460Z /Users/runner/work/project/UITestCase.swift:665: error: -[project.UserTagTest testTapInTextView] : Failed to get matching snapshot: Lost connection to the application (pid 12676). (Underlying Error: Couldn’t communicate with a helper application. Try your operation again. If that fails, quit and relaunch the application and try again. The connection to service created from an endpoint was invalidated: failed to check-in, peer may have been unloaded: mach_error=10000003.)

It can not find the cell because of these logs:

Unable to monitor event loop
Unable to monitor animations

I know this because I sometimes get different errors than the error above, which says that the connection to the application is lost, right below the Unable to monitor... error logging.

Is there anything I can try? I don't have a reproduction project. This is the command that is executed:

xcodebuild test -project project.xcodeproj -scheme project-iosUITests -destination 'platform=iOS Simulator,name=iPhone 13 Pro,OS=15.5'

The CI runs 35 tests and 5 fails randomly with the Unable to errors. Is there any suggestion to fix this problem?

J. Doe
  • 12,159
  • 9
  • 60
  • 114
  • Most of the times I face such problems, I found the solution by comparing the environemnts. Version of the software used in CI with the one used locally. Are OS, Arch and xcode version the same? Environment settings you need also to make in CI? – davidmpaz Jun 30 '22 at 16:19
  • Can you share the resources of the runners? If everything working locally, try to use a docker image on the runner to enforce the same environment. You can have limited resources on a runner or the different configurations of the environment. – Petr Jordán Jun 30 '22 at 20:10

0 Answers0