Michael Kaye 5e97a4a0fa
Performance tests (#1301)
* Add signposts to performance tests.

- Update flow to include support for the migration screen.

* If the welcome screen shows, click on the button.

* Ensure a clean simulator each run.

* Add accessibility identifier for migration screen if required.

* Handle walking into the room and back out again.

* use iphone 14 pro to match what's used in xcode.

* Remove ApplicationTests as duplicated in LoginTests.

We measure app startup time in LoginTests as part of the flow - we may as well avoid spending 60s doing only that measurement in ApplicationTests

* Sleep 10s, the ui is otherwise showing up in random order.

* Revert "Remove ApplicationTests as duplicated in LoginTests."

This reverts commit 8670710315bcd0d6c3c3046f534b32b4c728b837.

* Update script to parse out correct values from results file.

* Allow cancellation of password prompt in any order.

* Remove test timeout, performance tests will always take a while.

* Adjust parsing further

* Remove ApplicationTests.

* Move to a more elegant way to wait for something to disappear.

* Linting.

* Fix unit tests.

---------

Co-authored-by: Doug <douglase@element.io>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-11 10:32:24 +01: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
test:
config: Debug
disableMainThreadChecker: false
gatherCoverageData: true
coverageTargets:
- ElementX
testPlans:
- path: IntegrationTests.xctestplan
defaultPlan: true
targets:
IntegrationTests:
type: bundle.ui-testing
platform: iOS
dependencies:
- target: ElementX
- package: MatrixRustSDK
- package: DeviceKit
- package: DTCoreText
- package: KeychainAccess
- package: Kingfisher
- package: SwiftState
- package: GZIP
- package: Sentry
- package: Collections
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/AccessibilityIdentifiers.swift
- path: ../../ElementX/Sources/Other/Extensions/XCUIElement.swift
- path: ../../ElementX/Sources/Other/Extensions/NSRegularExpresion.swift
- path: ../../ElementX/Sources/Services/Analytics/Signposter.swift