Stefan Ceriu 5b90f37f2e
Various UI test fixes (#370)
* Increase integration tests time limits again as they're still ocasionally failing

* Fixed NavigationRootCoordinator name in logs

* Refactor UI tests hierarchy and introduce new userFlowScreen

* Introduce a RoomTimelineControllerFactory so that it can be mocked in the UserFlow UI tests

* Start using a mock timeline controller for the UserSession flows

* Remove the WeakDictionary dependency and replce it with a plain NSMapTable in the BackgroundTaskService

* Allow multiple UITests screenshots per screen

* Prevent the view hierarchy changing when taking screenshots

* Add UserSessionScreen UI tests

* Fix label triaging workflow project identifier as per vector-im/element-ios/pull/7150

* Fix settings screen tests

* Fix roomPlainNoAvatar and roomEncryptedWithAvatar UI tests

* Fix modal server selection screen UI tests

* Fix bug report and login screen UI tests

* Fix text typing missing characters on UI tests

* Fix sliding sync configuration on integration tests

* Stop crashing if not finding a particular room through the MockClientProxy
2022-12-15 15:22:39 +02:00

61 lines
1.4 KiB
YAML

name: IntegrationTests
schemes:
IntegrationTests:
analyze:
config: Debug
archive:
config: Release
build:
targets:
IntegrationTests: all
profile:
config: Release
run:
config: Debug
disableMainThreadChecker: false
environmentVariables:
INTEGRATION_TESTS_HOST: ${INTEGRATION_TESTS_HOST}
INTEGRATION_TESTS_USERNAME: ${INTEGRATION_TESTS_USERNAME}
INTEGRATION_TESTS_PASSWORD: ${INTEGRATION_TESTS_PASSWORD}
test:
config: Debug
disableMainThreadChecker: false
gatherCoverageData: true
coverageTargets:
- ElementX
targets:
- IntegrationTests
targets:
IntegrationTests:
type: bundle.ui-testing
platform: iOS
dependencies:
- target: ElementX
- package: MatrixRustSDK
- package: DeviceKit
- package: DTCoreText
- package: KeychainAccess
- package: Kingfisher
- package: SwiftyBeaver
- package: SwiftState
- package: GZIP
- package: Sentry
info:
path: ../SupportingFiles/Info.plist
settings:
base:
PRODUCT_NAME: IntegrationTests
PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.integration.tests
debug:
release:
sources:
- path: ../Sources
- path: ../SupportingFiles
- path: ../../ElementX/Sources/Other/Extensions/XCUIElement.swift