This project aims to automate API and mobile application testing using Selenium, Appium, and RestAssured. The project uses ExtentReports to create test reports.
appium-java-testng/
|-- src/
| |-- main/
| | |-- java/
| | | |-- api/
| | | | |-- ApiClient.java
| | | |-- app/
| | | | |-- pageObjects/
| | | | |-- actions/
| | | | |-- locators/
| | | |-- config/
| | | |-- dataprovider/
| | | | |-- TestDataProvider.java
| | | |-- utils/
| | |-- resources/
| | |-- config.properties
| |-- test/
| |-- java/
| | |-- apiTests/
| | | |-- ApiTestSuite.java
| | |-- mobileTests/
| | | |-- MobileTestSuite.java
| | |-- runner/
| | | |-- DynamicTestNGSuiteRunner.java
| |-- resources/
| |-- Android.SauceLabs.Mobile.app.2.7.1.apk
| |-- testdataapi.csv
| |-- testdatamobile.csv
|-- target/
| |-- reports
|-- pom.xml
|-- README.md
- Java JDK 11
- Maven
- Android SDK
- Appium
- Android Emulator or a connected physical device
- Install Maven dependencies:
mvn clean install
- Configure the testdataapi.csv file in the
src/test/resources/
directory with the appropriate data. - Run the API tests with the following command:
mvn test -Dtest=apiTests.ApiTestSuite
or
mvn exec:java -Dexec.mainClass="runner.DynamicTestNGSuiteRunner" -DsuiteType=api
- Configure the testdatamobile.csv file in the
src/test/resources/
directory to change device name and platform version - Run appium server with same port in testdatamobile.csv file
- Run the Mobile tests with the following command:
mvn test -Dtest=mobileTests.MobileTestSuite
or
mvn exec:java -Dexec.mainClass="runner.DynamicTestNGSuiteRunner" -DsuiteType=mobile