Commit Graph

36 Commits

Author SHA1 Message Date
Stefan Ceriu
f1440e884a In preparation of FTUE changes... (#2556)
* Remove the welcome screen

* Allow the UserSessionFlowCoordinator to control the whole app hierarchy, not only its splitView

* Start using the new verification state listener

* Rename Onboarding to AuthenticationStart in preparation for the new OnboardingFlowCoordinator; update snapshots and tests

* Make the AuthenticationCoordinator a proper FlowCoordinator

* Add some padding around the authentication start screen report a problem button

* Bump the RustSDK to v1.1.49

* Only add bottom padding on the authentication start screen report a problem button
2024-03-13 11:24:48 +02:00
Doug
8942bdcfe3 Use xcresultparser in all workflows. (#2510)
* Fix integration tests.
2024-02-28 18:01:20 +00:00
Mauro
663f34b831 removed unused button check (#2498) 2024-02-26 14:00:43 +01:00
Stefan Ceriu
df18474e1f Tweak integration tests in an attempt to make them more reliable 2024-01-30 16:29:08 +02:00
Stefan Ceriu
e7ab176b40 More integration test tweaks (#2321)
* Improve integration test timings and alert handing

* Add missing `receive(on: DispatchQueue.main` on the invites screen

* Wait for photo library to load

* Disable the preferForLoop swiftformat rule and fix a couple of new warnings

* Delay invites screen snapshotting after dispatch main queue addition
2024-01-11 16:35:03 +02:00
Stefan Ceriu
dde4b6cd7e Various integration test tweaks following test homeserver and account change 2024-01-10 16:57:25 +02:00
Mauro
bc97bdeea5 Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Doug
9df3139ac7 Make the attachment menu an actual menu. (#2199)
There was a bug with the sheet/popover when overriding the colour scheme where the button renders in light mode when the app is in dark mode.
2023-12-05 11:14:16 +00:00
Stefan Ceriu
0ed753982d Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Alfonso Grillo
920f9cca6c Enable voiceover in timeline menu (#1907) 2023-10-16 14:00:36 +00:00
Doug
5f3d0c96c1 Fix integration tests. (#1793)
There was a bug where another button existed with the same label.
2023-09-25 13:45:50 +01:00
aringenbach
90545b179e Add RTE formatting buttons (#1614)
* Add RTE formatting buttons

* Update UUID as stored properties

* Disable autocorrection on URL fields

* Alert ids to let

* Add ComposerToolbar_Previews

* Cleanup

* Cleanup

* Refactor FormatItem colors

* Fix composer layout issue

* Fix ui tests

* Nest ComposerToolbar A11y ids under RoomScreen

* Add composer reply ui tests

* Add UTs

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-09-05 15:39:54 +00:00
Stefan Ceriu
61d4f9edf5 Attempt to fix attachment media in the integration tests 2023-08-29 13:18:44 +03:00
Stefan Ceriu
22a457ee82 Fix integration tests, remove attachments camera picker step, avoid camera permissions 2023-08-29 11:31:27 +03:00
Stefan Ceriu
a5562c0270 Check more screens in the integration tests. Refactor flows 2023-08-28 11:41:37 +03:00
Stefan Ceriu
b037368a4f Split up the tests into performance tests that are measured, and user flow tests that access more screens and aren't 2023-08-25 13:33:06 +03:00
Stefan Ceriu
4570752c76 Fix MeasurementParser's signpost metrics following previous refactor 2023-08-24 18:36:46 +03:00
Stefan Ceriu
c7b3c4c21c Go through more screens in the integration tests 2023-08-24 18:36:46 +03:00
Michael Kaye
a1b66c170f 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
Michael Kaye
aa748448a1 Stop asserting integration test run time & move to performance testing runner. (#1132)
* Stop asserting integration test run time.
* Move integration testing to the perf runner.
2023-06-23 13:44:33 +01:00
Doug
7c4d0631df Server Confirmation Screen (#959)
* Add ServerConfirmationScreen.
2023-05-30 10:31:18 +01:00
Mauro
79b9f54a66 Fixing Tests for Xcode 14.3 (#888)
* settting macOS to 13, and let's runa test of... the tests

* I want the artifacts of the test, might give me some more insight in Xcode

* archive artifact

* trying a thing with the xcode version

* push notifications alert makes this test fail

* test improvement

* let's try with a very long time

* let's disable autocorrection

* sleep

* 1 seconds fixed 90% of the issue, 2 should fix 100%

* waiting some more time in flaky tests and updated the content of a test that was failing

* updated a screenshot test that had a notification

* this integration test is a bit so flaky increased the timing

* controlled delay waited a bit moe for the timeline to settle

* try await

* MainActor everywhere

* milliseconds fix

* trying with a bit more waiting time after the tap and a slow velocity for the swipe

* let's try waiting more time
2023-05-15 13:42:40 +00:00
Stefan Ceriu
c809d57d44 Add integration tests support for password saving, notifications and the analytics screen 2023-04-20 16:12:01 +03:00
Stefan Ceriu
69e0899eaf Fix integration tests 2023-02-16 14:17:10 +02:00
Stefan Ceriu
a19fda4557 Fixes #533 - Fix integration tests 2023-02-15 14:52:25 +02:00
Michael Kaye
23ce41ec11 Align accessibility IDs with elementX android (#567)
* Rename onboarding and login user/pass accessibility ids.

* Refactor remaining server change accessibility IDs

* Avoid accessibilityIdentifier spreading to all decorations on the textBox.

Required because otherwise there are multiple items tagged with the accessibilityId
which means we can't click on "the" item.

* Move all accessibility identifiers to `AccessibilityIdentifiers.swft`
- use same naming convention on all of them
- remove the unused ones
- fix build errors in integration tests and invalid identifiers (still broken until autodiscovery lands on rosa)

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-02-15 07:53:04 +02:00
Stefan Ceriu
ba50a8050c Fixes #464 - Incorrect regex usage on extended grapheme clusters 2023-02-10 09:50:52 +02:00
Stefan Ceriu
6916976e63 Increased fastlane xcode timeouts and integration login test expected duration (again!) 2022-12-20 12:45:00 +02:00
Stefan Ceriu
5bc31d0a69 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
Stefan Ceriu
186850b3c3 Integration tests: Increase XCTApplicationLaunchMetric limit (#241)
Increase XCTApplicationLaunchMetric limit. There's no reason to believe this was caused by any change of the app itself but on the Github infra. It started happening on the 4th of october with no code being commited between the 29th of September and the 14th of October.
2022-10-24 12:53:57 +03:00
Doug
9f847454e7 Switch to Xcode 14 and handle the UICollectionView-backed List. (#229)
* Fix Timeline on Xcode 14/iOS 16

Raise requirement to iOS 16+
Reduce pagination jumping.
Sonarcloud fixes.
Fix verification test.
Adopt if let optional { syntax.

* Remove unused ScrollViewReader

The ScrollViewReader didn't appear to change the behaviour.

* Fix warnings on Run Scripts.

Run script build phase 'SwiftLint' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.
2022-10-17 09:56:17 +01:00
manuroe
cde12681f1 Update some copyright headers 2022-09-28 12:56:10 +03:00
Stefan Ceriu
f89412f925 Fix integration tests 2022-09-23 13:50:04 +03:00
Stefan Ceriu
750cb7c912 Fix incorrect integration test check 2022-08-23 09:41:13 +03:00
Stefan Ceriu
47b78385f0 Fix invalid XCTestMeasurementParserMetric 2022-08-23 09:10:15 +03:00
Stefan Ceriu
09daf52750 #49, #123 - Setup UI integration and performance testing (#148) 2022-08-18 16:32:29 +03:00