0% found this document useful (0 votes)
19 views2 pages

Detailed Project Explanation

The automation framework for the Arousr website is built using Java with a data-driven and keyword-driven approach, utilizing the Page Object Model for maintainability. It incorporates a properties file for configuration, Maven for dependency management, and Jenkins for continuous integration, along with features like screenshot capture and comprehensive reporting. The framework is organized into separate packages for pages and tests, ensuring clear separation of concerns and ease of collaboration through version control tools.

Uploaded by

Arun Vastrad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views2 pages

Detailed Project Explanation

The automation framework for the Arousr website is built using Java with a data-driven and keyword-driven approach, utilizing the Page Object Model for maintainability. It incorporates a properties file for configuration, Maven for dependency management, and Jenkins for continuous integration, along with features like screenshot capture and comprehensive reporting. The framework is organized into separate packages for pages and tests, ensuring clear separation of concerns and ease of collaboration through version control tools.

Uploaded by

Arun Vastrad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

1.

Programming language: Our automation framework for the Arousr website was built
using Java as the programming language. We implemented a data-driven framework,
which allows us to separate the test data from the test scripts, promoting
flexibility and reusability.

2. Framework Type: Data driven framework, keyword driven by using Page Object Model

3. POM: We followed the Page Object Model design pattern to maintain a class for
each web page in the application. This approach helps in creating a clear
separation between the page elements and their associated methods, making the code
more maintainable and readable .As per the Page Object Model, we have maintained a
class for every web page. Each web page has a separate class and that class holds
the functionality and members of that web page. Separate classes for every
individual test.

4. Packages: To organize our code effectively, we utilized separate packages for


Pages and Tests. The Pages package contains the page class files, while the Tests
package holds the test scripts. This structure helps maintain a clear distinction
between the page actions and the test scenarios. For example, Payment Page and
Login Page have separate classes to store element locators.

5. Properties file: We utilized a properties file named config.properties to store


static information throughout the framework. This file includes details such as
browser-specific information, application URLs for development and testing
environments, screenshot paths, security questions and answers, and login
credentials. Using a properties file allows easy configuration and modification
without touching the code. This file (config.properties) stores the
information that remains static throughout the framework such as browser-specific
information, application URL, development, testing URL screenshots path, security
questions and answers, username, passw(Ctrl)ing, development, testing URL, etc.

6. Screenshots: As part of our framework, we incorporated functionality to capture


screenshots during test execution. Screenshots are captured at specific steps or on
test failures, providing visual evidence and aiding in troubleshooting and
debugging. Screenshots will be captured and stored in a separate folder and also
the screenshots of failed test cases will be added to the extent reports.

7. Maven: We integrated Maven as our build and dependency management tool. It


helped us manage project dependencies, handle libraries, and streamline the
project's build process. Maven ensures that all necessary dependencies are resolved
and enables efficient project compilation and execution. Using Maven for build,
execution, and dependency purpose. Integrating the TestNG dependency in the POM.xml
file and running this POM.xml file using Jenkins.

8. Version Control Tool: To track and manage code changes, we utilized a version
control tool such as Git or SVN. This allowed us to collaborate with other team
members, track revisions, and easily manage different versions of our automation
framework.

9. Jenkins: For continuous integration and automation of our test execution, we


leveraged Jenkins. Jenkins enabled us to schedule and execute our automated tests
at specific intervals or on code changes, providing faster feedback on the
application's stability. By using Jenkins CI (Continuous Integration) Tool, we
execute test cases on a daily basis and also for nightly execution based on the
schedule. Test Results will be sent to the peers using Jenkins.

10. Installer Batch Files: We created installer batch files to facilitate easy
setup and deployment of our automation framework. These batch files automate the
installation and configuration process, ensuring that all necessary dependencies
and environment settings are in place. In case of desktop-based applications
installation you would be keeping PowerShell batch files.

11. src/test/resources: AutoIT Scripts, Sikuli images, licenses to make your


application under test up & running, etc files kept

12. Test Base Class: Test Base class (TestBase.java) deals with all the common
functions used by all the pages. This class is responsible for loading the
configurations from properties files, Initializing the WebDriver, Implicit Waits,
Extent Reports. I

13. Reports : We incorporated reporting functionality to generate comprehensive


test reports. These reports provide detailed information about test execution,
including test results, pass/fail status, execution times, and any errors or
exceptions encountered during the test run."

You might also like