Skip to content

Add iOS Navigation Tests workflow to GitHub Actions#192

Merged
StuartFerguson merged 67 commits into
mainfrom
task/#182_ios_navigation_tests
Apr 11, 2025
Merged

Add iOS Navigation Tests workflow to GitHub Actions#192
StuartFerguson merged 67 commits into
mainfrom
task/#182_ios_navigation_tests

Conversation

@StuartFerguson
Copy link
Copy Markdown
Member

This commit introduces a new GitHub Actions workflow named "Build and Run iOS Navigation Tests." The workflow is triggered on pull requests to the main branch and runs on macOS 14. It includes steps for checking out the repository, setting up Xcode, Node.js, and .NET, installing MAUI workloads, installing Appium and its drivers, starting the Appium server, restoring the MAUI app for iOS, building the code, running iOS navigation tests, and uploading Appium logs on failure.

This commit introduces a new GitHub Actions workflow named "Build and Run iOS Navigation Tests." The workflow is triggered on pull requests to the `main` branch and runs on macOS 14. It includes steps for checking out the repository, setting up Xcode, Node.js, and .NET, installing MAUI workloads, installing Appium and its drivers, starting the Appium server, restoring the MAUI app for iOS, building the code, running iOS navigation tests, and uploading Appium logs on failure.
@StuartFerguson StuartFerguson linked an issue Apr 8, 2025 that may be closed by this pull request
- Added `MetroLog.Maui` package to `TransactionMobile.Maui.BusinessLogic.csproj` for non-iOS frameworks.
- Added `Refractored.MvvmHelpers` package to `TransactionMobile.Maui.csproj`, also excluded for iOS.
Introduce `#if !IOS` directives to include methods
only for non-iOS builds. Comment out unused `IsIOS`
method, streamlining the `HomePageViewModel` class
for better platform-specific logic handling.
The iOS driver setup in `AppiumDriver.cs` has been modified to change the `PlatformVersion` from "15.4" to "17.4". This update ensures that the application is now targeting a newer version of iOS for testing purposes.
Changed the binaries folder path in `AppiumDriver.cs` from
`iossimulator-x64` to `iossimulator-arm64` to align with
newer hardware and software requirements for iOS testing.
Updated `AppiumDriver.cs` to include new `using` directives for Microsoft Testing and Selenium namespaces. Removed redundant imports and added the option `waitForQuiescence` to driver options to enhance test reliability. Other commented-out options remain for future consideration.
Updated the method for adding the "waitForQuiescence" option
from `AddAdditionalOption` to `AddAdditionalAppiumOption`
to ensure consistency with the Appium API.
Introduced a new Appium option `shouldWaitForQuiescence` set to `false` in the `AppiumDriver.cs` file. This option controls whether the driver waits for the application to become idle before executing further commands.
Changed the installation command in `ios_navigation_tests.yml` to use the latest version of the Appium XCUI test driver (`xcuitest@next`) instead of a specific version (`[email protected]`). This update ensures access to the most recent features and fixes.
@StuartFerguson StuartFerguson merged commit a13e12e into main Apr 11, 2025
9 checks passed
@github-actions github-actions Bot deleted the task/#182_ios_navigation_tests branch June 14, 2025 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI Workflow - IOS Navigation Tests

1 participant