mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 21:39:12 +00:00

* 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>
Scripts
Iconizer
Generates all app icon variants from one single .pdf file.
Usage:
sh iconizer.sh ../ElementX/Supporting\ Files/AppIcon.pdf ../ElementX/Supporting\ Files
Localizer
Generates all app localization files and imports them to the project, by downloading strings from element-android and converting them to strings
and stringsdict
files.
Usage:
./localizer.py
Boot Test Simulator
Boots a desired simulator and makes status bar overrides on that.
Usage:
./bootTestSimulator.py 'iPhone 13 Pro Max'
Create screen templates
New screen flows are currently using the MVVM-Coordinator pattern. Run Tools/Scripts/createScreen.sh to create a new screen and all its required dependencies.
Usage:
./createScreen.sh Folder MyScreenName
After that run xcodegen
to regenerate the project.
createScreen.sh
script will create:
Folder
within the/ElementX/Sources/Screens/
. Files inside will be namedMyScreenNameXxx
.MyScreenNameScreenUITests.swift
withinUITests/Sources
MyScreenNameViewModelTests.swift
withinUnitTests/Sources/Unit