Welcome to the LoginUserApp project! This documentation will guide you through the setup, usage, and contribution process for this iOS application.
LoginUserApp is an iOS application designed as a Test Automation Framework demo for iOS apps. The main purpose of this project is to showcase the use of the Page Object Model (POM) to describe all states on a screen, facilitating efficient and maintainable UI test automation. This simple app includes a login feature only, and it is written in Swift using modern iOS development practices.
- User login
- Xcode 12.0 or later
- iOS 13.0 or later
- Swift 5.0 or later
To get started with LoginUserApp, follow these steps:
-
Clone the repository:
git clone https://github.com/vaznoe/LoginUserApp.git cd LoginUserApp
-
Open the project in Xcode:
open LoginUserApp.xcodeproj
-
Install dependencies:
- Make sure you have CocoaPods installed.
- Navigate to the project directory and run:
pod install
-
Open the workspace:
open LoginUserApp.xcworkspace
-
Build and run the project:
- Select a target device or simulator.
- Press
Cmd + R
to build and run the application.
Once the application is running on your device or simulator, you can perform the following actions:
- Log in a user: Access the login screen and enter the credentials.
LoginUserApp includes a UI test framework written in Swift. The project demonstrates the use of the Page Object Model (POM) to describe all states on a screen, making the tests more maintainable and scalable. To run the tests, follow these steps:
-
Select the test target:
- In Xcode, select the
LoginUserAppUITests
target.
- In Xcode, select the
-
Run the tests:
- Press
Cmd + U
to run all tests.
- Press
We welcome contributions from the community! To contribute, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Make your changes and commit them:
git commit -m 'Add new feature'
. - Push to the branch:
git push origin feature-name
. - Submit a pull request.
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.