This documentation provides an overview of the Appium Java framework structure, including its directory hierarchy, key components, and configuration files. The framework is designed for mobile automation using Appium and Java.
- reports
- src
- main
- java
- Config
- config.properties
- Pages
- Utils
- AppiumUtils
- DriverUtils
- MyLogger
- test
- java
- testData
- testData.json
- tests
- testUtils
- ExtentReportNG
- Listeners
testng.xml
pom.xml
This directory stores the test execution reports generated during the test runs. It may contain HTML or other format reports generated by testing tools like TestNG, ExtentReportNG, etc.
This configuration file contains key-value pairs for various configuration settings used in the framework. It includes properties related to the test environment, device capabilities, and other settings.
This directory holds page object classes representing different screens or pages of the mobile application. Page objects encapsulate the locators and actions performed on a specific page.
This class provides utility methods related to Appium setup and configuration. It includes methods for initializing the Appium driver, handling waits, and other Appium-related operations.
DriverUtils contains utility methods for interacting with the Appium driver, such as taking screenshots, handling device rotations, and managing the driver session.
MyLogger is a custom logging utility class for handling logging throughout the framework. It may include methods for logging different levels of messages.
This JSON file contains test data used by test scripts. It can include data for different test scenarios, test cases, or test steps.
This directory contains test scripts that execute various test scenarios. Each test script may use the page objects and utility classes from other packages to perform actions and assertions.
AssertionUtils provides utility methods for performing assertions in test scripts. It may include methods for validating expected and actual results.
ExtentReportNG is a utility class for generating Extent reports. It includes methods for initializing and updating the Extent report during test execution.
This package includes custom TestNG listeners for capturing events during test execution, such as test pass/failure, logging, and reporting.
The TestNG XML file defines the test suite configuration, including test classes, groups, parallel execution settings, and other TestNG-related configurations.
The Maven Project Object Model (POM) file defines the project dependencies, plugins, and other build-related configurations. It ensures the necessary libraries are downloaded and included in the project during the build process.