Download & Run Sample Automation Framework
Learn how to download and run the sample framework developed using the design principles we discussed in the previous lesson.
Downloading framework code
A sample framework developed using the discussed concepts can be downloaded here.
Project structure
Project Structure of the Sample Automation Framework
src/main/java
com.example.Channel: an enum class to hold the constants mobile, Android, iOS.com.example.Platform: an enum to hold constants Linux, Windows, Mac.com.example.ScrollDirection: an enum to hold the constants up, down, left, right.
com.example.listener.RetryAnalyzer: an implementation of TestNG’sIRetryAnalyzerfor retrying tests on failure.
com.example.utils.BaseTest: a base class that all the test classes need to extend. It contains the TestNG listener method to perform tasks at the start and end of test methods, test classes, etc.com.example.utils.CommandLineExecutor: a utility class for executing system commands.com.example.utils.CommandLineResponse: a POJO class for saving response fromCommandLineExecutor.com.example.utils.CommonUtilities: a utility class that contains a few commonly used methods in string manipulation, download from URL.com.example.utils.ConfigManager: a utility class for managing configuration parameters. It reads from JVM arguments, project-specific config.properties, or default.properties if not found anywhere.com.example.utils.ProcessUtils: a utility class containing methods to check the processes status.
-
com.example.utils.po.AbstractBasePage: a class that all the page objects need to extend. It helps us to manage locators and gives the reference ofWebDriverWrapper. -
com.example.utils.webdriver.ADBUtilities: a utility class to run ADB commands. -
com.example.utils.webdriver.AppiumServiceFactory: a utility class to start and stop Appium sessions. -
com.example.utils.webdriver.ChromeDriverExecutableUtils: a utility class to download the compatible ...