This project contains end to end solution to mobile automation needs.
- Parellel run - Supports 3 threads
- Automatically checks the connected devices on system and saves them in queue(thread safe), picks a device and assign it to test and removes from the queue so that it is not available for other tests. Returns the mobile device back to queue after the test execution.
- Make sure number of emulators/devices available is equal to the thread count mentioned in build.gradle file.
- Thread count can be changed from build.gradle file
- Reporting - Supports testng and extent reports.
- Screenshots - In case of failure screenshots will be captured and placed under TestReport/screenshots folder.
- Creates appium server on the fly(per test) and kills it after executing the test so that server is not used by other tests. Not using selenium grid in this solution.
- JAVA - Java JDK or JRE - 8 or above
- Gradle (4.10)- This is the build tool used to configure and install all the required dependent libraries and run tests from command line on local and remote machines.
- TestNG - Test framework used to organize and run tests.
- Java(8) - As programming language.
- Appium - This is used to automate the mobile screens
- Emulators - To run the tests on app.
- Install Appium through npm -
npm install -g [email protected]
- Take a clone of this repository to local machine.
- In IntelliJ (or any IDE), goto file -> open -> browse to the folder where the clone is taken -> select the folder -> click on open.
- Now project is ready to execute, provided the above mentioned setup of tools is done successfully and all the dependencies are downloaded in the IDE.
- To run as gradle -
./gradlew clean runTests -Dtag=calculator
- TestNG report can be seen at -
/build/<tag name>/html/index.html
(open in browser) - Extent report can be seen at -
TestReport/Test-Automaton-Report.html
(open in browser)