Add iOS Navigation Tests workflow to GitHub Actions#192
Merged
Conversation
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.
- 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit introduces a new GitHub Actions workflow named "Build and Run iOS Navigation Tests." The workflow is triggered on pull requests to the
mainbranch 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.