Skip to content

Simple automated Native Mobile tests for The_App, with CI pipeline integration for seamless test execution.

License

Notifications You must be signed in to change notification settings

BrandonNaidoo/theapp-appium-tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AppiumTests - Mobile Test Automation with Appium & C#


Build Status

Service Status
GitHub GitHub Workflow Status

Project Overview

This project demonstrates maintainable and scalable automated UI tests for Android native apps using:

  • Appium as the mobile automation framework
  • C# with NUnit as the test framework
  • Page Object Model (POM) design pattern for test maintainability
  • FluentAssertions for expressive assertions
  • Support for running tests on Android Emulator with APK downloaded from the public repo

Getting Started

Prerequisites

Setup

  1. Clone the repository:
    git clone https://github.com/BrandonNaidoo/theapp-appium-tests.git
    cd theapp-appium-tests
  2. Restore dependencies:
    dotnet restore
  3. Launch your Android Emulator from Android Studio.
  4. Start Appium Server (e.g., appium command or Appium Desktop).

🚀 Running Tests

Run all tests using the .NET CLI:

dotnet test

🧩 Project Structure

Project Structure

theapp-appium-tests/
├── .editorconfig              # Code style and formatting rules
├── .gitignore                 # Files and folders to ignore in Git
├── AppiumTests.sln            # Visual Studio solution file
├── LICENSE                    # Project license (e.g. MIT)
├── README.md                  # Project documentation
│
├── AppiumTests/               # Main test project
│   ├── AppiumTests.csproj     # C# project file
│   ├── Framework/             # Core test infrastructure (e.g. TestBase)
│   ├── Models/                # Data models used in tests
│   ├── Pages/                 # Page Object Model (POM) classes
│   ├── TestData/              # Shared test data, enums, constants
│   ├── Tests/                 # NUnit test classes
│   └── Utils/                 # Utility/helper classes (e.g. ApkDownloader)

⚙️ CI/CD and Quality


🤝 Contributing

At this time, this project is not open to external contributions.

Please feel free to fork the repository for personal use or experimentation, but I am not currently accepting pull requests or feature suggestions.


📄 License

This project is licensed under the MIT License.


🙌 Acknowledgments

Thanks to appium-pro for providing a public Android app in the GitHub repository appium-pro/TheApp, which is used as the System Under Test (SUT) in this project.

About

Simple automated Native Mobile tests for The_App, with CI pipeline integration for seamless test execution.

Topics

Resources

License

Stars

Watchers

Forks

Languages